Выиграй бесплатное обучение и другие подарки к Новому Году.
Our Website is Almost Ready
Launch a targeted campaign. Scale your infrastructure with our simple service.
Days
Hours
Minutes
Seconds
Learn more
1 декабря
Экспресс-гайд по собеседованиям для тестировщиков, девопс-инженеров и java-разработчиков
Работа — это обмен затрачиваемой силы и времени на материальные средства путем вкалывания как Папа Карло. Чтобы к нему приобщиться, нужно проехать катком по паре мини-боссов. В их ролях — эйчары и действующие специалисты, обитающие на локациях «интервью» и «техническое собеседование».
Оговорюсь сразу — в материале не будет списков типовых вопросов, условий алгоритмических задач и руководств по зарплатным переговорам. Эксперты школы TMS дадут тебе удочку — расскажут о самой концепции прохождения техсобесов, порекомендуют темы для повторения и поделятся своим коммерческим опытом.
Интервью с эйчаром и техническое собеседование — ху из ху
Последнее внятное исследование о количестве собеседований перед приемом на работу было проведено в мохнатом 2012 году ребятами из Work It DAILY. Тогда эксперты выяснили, что для заветного джоб-оффера специалистам из разных областей приходится проходить через ноги руки по меньшей мере девяти эйчаров и рекрутеров.
Удивительно, но эта статистика неплохо бьется с нынешним айти-рынком. Конечно, есть и исключения — Гуру от мираавтоматизации тестированиячасто ищет работу дольше, чем начинающий, но подающий надежды падаван-девопс. Однако здесь проблема кроется, скорее, в количестве вакансий и числе соискателей.
Интервью с эйчарами и менеджерами проводят, чтобы оценить, насколько компания подходит сотруднику, а сотрудник — компании. Задача рекрутера заключается в получении информации о кандидате: что для него важно в работе, какими знаниями он обладает и что ожидает от бренда. Техсобесы используют для оценки прикладных навыков. В рамках таких бесед эксперты проверяют твои хардовые и софтовые скилы.
На технических собесах и интервью ждут джунов:
с хорошей технической базой и желающих учиться, чтобы вылепить из них высококлассных специалистов;
не боящихся говорить, рассуждать и спрашивать, ведь разработка — это командный процесс, невозможный без регулярного взаимодействия с другими;
хотя бы немного задумывающихся о бизнесе и его процессах, а также о том, какую пользу они могут принести компании;
готовых нести ответственность на своем уровне, проявлять инициативность и заинтересованность.
Готовность к собеседованиям — это навык, который можно развивать. Кандидат, вложивший пару очков в «интеллект», «хитрость» и «технические скилы», практически не будет слышать стандартных фраз-отписок вроде «мы вам перезвоним».
Как пройти техническое собеседование
Сегодня каждое второе техническое собеседование проходит онлайн и представляет собой созвон с включенной камерой. Тебя спрашивают о предыдущем опыте, могут предложить решить задачу, написать программу или найти ошибку в коде. Вопросы разнятся в зависимости от уровня вакансии. Джунам нужна теория с терминами и формулировками, мидлам и сеньорам — практические навыки и понимание процессов.
— Технический собес предполагает решение задач. Есть какие-то секреты подготовки? Может быть, сайты или ультимативные книжки?
— «Сервис с задачками по программированию LeetCode уже превратился в стандарт для подготовки к алгоритмическим собеседованиям. Меня это бесит, ведь упражнения там часто не имеют никакого отношения к практической разработке. Крупная и привлекательная компания может позволить себе извращаться над кандидатами любыми способами, но далеко не каждый бренд будет строить из себя Google. В фирмах из СНГ задачи есть, но они достаточно легкие», — Олег Григорьян, преподавателькурса Java-разработчикв TMS.
— Как быть соискателю, который при прохождении технического собеседования понял, что он чего-то не знает?
— Ткните пальцем в того, кто знает все. Чем глубже копаешь в программировании, тем лучше понимаешь, что дна нет. Соискателю нужно держать лицо — если не можешь дать четкий ответ, порассуждай, сделай пару предположений и постарайся их обосновать. В разработке нет смысла заучивать что-то наизусть, как стихи — важно осознавать, почему и для чего все работает так, а не иначе. Твоя способность думать и искать выход из ситуации окажется ценнее, чем верные, но сухие ответы
Позиция эксперта по автоматизации тестирования
Автоматизатор — это эксперт по проверке работоспособности софта, отвечающий за создание сценариев для автоматической проверки программ и приложений. Его хардовые скилы варьируются в зависимости от направления работы. Писать скрипты опытные QA-инженеры (от англ. quality assurance — «обеспечение качества») предпочитают на таких языках, как Java, Python, JavaScript и C#.
На техническом собесе у начинающего автоматизатора обязательно спросят о видах тестирования, техниках тест-дизайна, методологиях разработки и критериях качества требований. Будут и задачи формата:
протестировать общедоступный API;
составить баг-репорт по реальной или вымышленной ошибке;
сформировать тест по реальным требованиям;
создать тест для учебного проекта.
Автоматизация тестирования — тема обширная, и разбирать ее нужно в отдельном порядке. Поэтому мы записали целый Натив, посвященный вопросам на технических собеседованиях QA-инженеров, владеющих языком Java.
— Существуют ли какие-то основные критерии, выдвигаемые к кандидатам на позицию начинающего автоматизатора тестирования?
— «Я всегда говорил, что хороший автоматизатор должен обладать четырьмя качествами. Первое — он должен быть хорошим тестировщиком. Второе — он должен хорошо знать язык программирования. Третье — это автоматизация тестирования. Четвертое — английский язык и коммуникативные навыки.
Есть люди, которые все схватывают на лету, но не умеют общаться. Во многих компаниях собеседование — это поговорить о жизни. Если человек не проявляет софт-скилы, он не получит работу. Берем эти четыре ингредиента, смешиваем воедино и получаем идеального кандидата», — Дмитрий Рак, преподавателькурса автоматизированное тестирование на Javaв TMS.
Должность Java-разработчика
Чтобы понять, как проходят интервью и техсобесы Java-девелоперов, будем двигаться от обратного — прошерстим блоги эйчаров и рекрутеров. Судя по веткам на«Хабре», владеющих «Жабой» экспертов собеседуют в рамках плюс-минус одного сценария. Выглядит он так: вопросы по языку → предыдущий опыт → поиск мотивации соискателя → рассказ о проектах → ответы на вопросы.
На техническом собеседовании новичка, желающего занять должность Junior Java backend developer, проверяют на знание:
базовых алгоритмов;
структур данных;
принципов и шаблонов программирования;
устройства сетей;
реляционных баз данных и SQL;
Java Core;
Java Persistence API;
Spring Core + Boot + Web + Data + самых основ Security.
Вопросы — вот первое, что будет ждать эйчар или технический специалист от новичка на собеседовании. Они становятся признаком лояльности и заинтересованности как в отдельной вакансии, так и в самой компании в целом. Когда бренд нанимает джуна, он делает своеобразную инвестицию — вкладывает время в человека, который деньги на старте приносить не будет. Поэтому организация сначала поймет, насколько кандидат благонадежен и заинтригован, и только потом вышлет джоб-оффер (или не вышлет).
— Нужно ли изучать проекты компании перед собеседованием? Какой в этом смысл и стоит ли тратить время?
— «Я бы не сказал, что это необходимо. В целом, дополнительная информация о бренде может оказаться полезной. В рамках собеседования не только компания выбирает тебя, но и ты выбираешь компанию. Да, джуниор-разработчик находится не в такой сильной позиции, как сеньор-девелопер, но соглашаться на любой треш-вариант — не лучшая идея.
Предварительный анализ — это способ собрать вопросы, которые стоит задать нанимателю. Проведя мини-исследование, ты убьешь двух зайцев — сложишь картинку об организации в своей голове и покажешь потенциальному работодателю свое небезразличие», — Олег Григорьян, преподавателькурса Java-разработчикв TMS.
Место девопс-инженера
DevOps-инженер — это человек-автоматизатор. Он автоматизирует все, что движется, а что не движется — двигает и автоматизирует. В своей подготовке специалист такого профиля изучает ряд тем, связанных как с разработкой, так и с внедрением различного софта. Став на ступеньку мидла, он может обнаружить себя, занимающегося написанием автотестов, изучением «шарпов» или созданием serverless-функций для управления всей инфраструктурой проекта.
В списке тем, освещаемых в рамках технического собеседования с кандидатом на позицию junior DevOps:
Вопросы о методологии DevOps. Что такое DevOps, зачем нужна эта концепция, как она связана с Agile, Scrum и Kanban — ты же должен знать, чем предстоит заниматься на работе.
Навык программирования на любом популярном языке. Знание Python, Bash, Ruby или Go, умение писать простенькие алгоритмы и скрипты для автоматизации.
Технологии Docker и Kubernetes. Соискатель должен быть готов к тому, чтобы написать Dockerfile или Helm chart, а также рассказать, чем Deployment отличается от Daemonset'a.
CI/CD инструменты + IaC (Ansible/SaltStack/Terraform) — Gitlab CI, Jenkins, Azure DevOps, либо что-то другое. Здесь будет достаточно иметь опыт с одним инструментом из каждой категории.
Linux и облака (AWS/GCP/Azure Cloud) — вспоминаем о том, как включается операционка, что отражает показатель load average и чем плохи дочерние зомби-процессы.
Знание сетей. Полезно уметь рассказать про TCP/IP, DNS и объяснить, что такое маска подсети. В ту же копилку — вопросы по HTTP-протоколам и различиям между TCP и UDP.
На техническом собеседовании часто поднимаются и другие вопросы — их обязательно прописывают в вакансиях. К счастью, все перечисленные темы студенты школы TMS разбирают на практических занятиях, в рамках курса DevOps-инженер.
— Можешь дать несколько советов по прохождению технического собеседования на позицию junior DevOps?
— «Если не знаешь ответа на очередной вопрос, попробуй поразмышлять вслух и прийти к выводам. Если совсем с технологией не работал или вопрос оказался слишком сложным — прямо так и скажи. Ты не «Super Ultra DevOps Lead 3000 lvl», что-то не знать — абсолютно нормально!
Проси фидбэк сразу после собеседования. То есть, еще до того, как отключишься от звонка с эйчаром, рекрутером или техническим специалистом.
Лучше хорошо знать сети, операционные системы и веб-серверы, чем уметь работать с Docker и Kubernetes, но плавать в «базе».
Прохождение собеседований — это навык, который можно и нужно тренировать. С каждым разом у тебя будет получаться все лучше», — Максим Разумов, преподавателькурса DevOps-инженерв TMS.
— «На собеседовании, товар — это ты. Продавай себя и помни, что в нашем деле нет места скромности и зажатости. Интервью — твоя минута славы и повод для самопрезентации, от качества которой зависит весь результат. Даже если по характеру тебе не свойственно ярко показывать свою натуру — fake it till you make it.
Собеседование — это двусторонняя сделка. Тебе нужно узнать все о компании, а компания хочет узнать побольше о тебе. Поверь, никому не будет приятно, если ты разорвешь все контакты посреди рабочего процесса просто потому, что не выяснил важные детали на берегу.
Любой исход собеседования — положительный. Не бойся отказов, ведь они прекрасны и позволяют учиться на своих же ошибках. Пробуй брать от интервью абсолютно все — фидбэк, материалы, лишние поводы для работы над собой. С каждой попыткой беседы будут получаться лучше, а отказов станет меньше», — Олег Григорьян, преподавателькурса Java-разработчикв TMS.
Хочешь освоить Java-разработку на уровне Олега Григорьяна? Или разобраться во всех тонкостях девопс-инжиниринга и дать нам интервью в нативе вместе с Максимом Разумовым? Может, тебя манят скилы автоматизатора тестирования, которыми владеет Дмитрий Рак? Записывайся на курсы в IT-школу TeachMeSkills — с нами найти деньги, почет, славу и уважение работу мечты намного проще!
Над материалом работал Михаил Агеев
🚀 Открой для себя мир тестирования с TeachMeSkills! 🚀
🌐 Погрузись в захватывающий мир IT и стань профессионалом своего дела!
📚 Подробнее о всех курсах по тестированию на нашем сайте
Понравился материал? Поделись им с друзьями!
Стань востребованным IT специалистом
Наша цель — дать тебе знания и опыт, достаточные для трудоустройства в крупнейшие IT компании.