Карьера • 29 февраля 2024 • 5 мин чтения

Как подготовиться к техническому собеседованию: советы разработчика

Техническое собеседование — это проверка практических навыков и уровня знаний разработчика. Рассказываем, как к нему подготовиться и каких ошибок избегать в процессе.

Что такое техническое собеседование

Техническое собеседование — это встреча кандидата с работодателем, на которой выявляют навыки специалиста и определяют, какой у него грейд — стажер, джун, мидл, синьор или тимлид.

Трудоустройство в IT-компании, как правило, проходит в несколько этапов:

1. Короткое интервью с рекрутером. На нём оценивают, подходит ли кандидат команде и насколько он сам заинтересован в трудоустройстве.

2. Тестовое задание, приближённое к реальным рабочим задачам. Его часто дают дизайнерам, аналитикам или, например, продуктовым редакторам.

3. Проверка технической экспертизы. Кандидат решает задачи и объясняет ход своих мыслей интервьюеру прямо на собеседовании.

4. Знакомство с командой.

На курсе Практикума по профориентации рассказывают, как устроена сфера IT и с чего начать свою карьеру. А если человек ещё не определился с направлением, поможет профориентационный тест — он покажет сильные стороны личности и предложит несколько подходящих специальностей.

Бесплатный тест на профориентацию

Тестирование разработано специалистами в области образования. Вы получите подробный анализ ответов: как и с чем вам больше нравится работать, какие области и профессия вам подойдет.

Как проходит техническое собеседование

Техническое собеседование в среднем длится около часа — но всё зависит от правил конкретной компании. Чаще всего собеседование проходит онлайн и начинается с короткого интервью. Кандидата могут спросить, где он уже работал, какие интересные кейсы были в практике. Иногда задают общие технические вопросы: например, про алгоритмы, базы данных, библиотеки, фреймворки, языки программирования и т. д.

После беседы интервьюер даёт кандидату ТЗ — техническое задание. Например:

Разработчику могут предложить написать программу или найти ошибку в коде. Он может писать код в текстовом редакторе, и часто — без возможности запустить его во время собеседования. Так работодатели проверяют, умеет ли разработчик создавать работоспособный код «начисто».

Техническое собеседование на позицию Python-разработчика. Кандидату задали много вопросов: про SQL, функции, объектно-ориентированное программирование и т. д. Источник

Архитектору ПО могут дать доступ к доске в Miro и попросить в формате стикеров спроектировать систему работы — например, над мобильным приложением для сети ресторанов.

Аналитику данных могут предложить оценить, как отразится на посещаемости сайта внедрение нового функционала. Таким образом работодатель проверит его знания теории вероятностей, статистики и навык логически мыслить.

Артём Стрельцов, разработчик

В Яндексе, например, проводят несколько собеседований, на которых нужно написать код, — с разными целями и уровнями сложности. Рекрутеры также могут меняться. Часто техническое собеседование проводятся без привязки к конкретной команде — она определяется после прохождения всех этапов отбора.

Как подготовиться к техническому собеседованию

Несколько способов, как прокачаться перед собеседованием:

Поискать информацию в интернете. Особенно актуально кандидатам без опыта. Можно посмотреть видео собеседований по своей специальности на Youtube, а также изучить популярные вопросы в сети, например на GitHub.

Потренироваться. Например, решить несколько задач на LeetCode, Codewars и поработать в редакторах для лайвкодинга, например Codeshare или CodeInterview.

Артём Стрельцов

Джуну важна алгоритмическая подготовка. Это не значит, что нужно заучивать все алгоритмы — на технических собеседованиях не требуют написать что-то очень сложное. Скорее проверят, как кандидат размышляет, понимает постановку задачи, оценивает сложность кода и насколько правильный код может выдать без подсказки.

Пройти Mock Interview — тренировочное собеседование. Специалисту нужно найти человека, который уже работает в IT, знает, как проходят технические собеседования, и сможет сыграть роль интервьюера. Mock Interview поможет оказаться в условиях, близких к реальным, и порепетировать.

Часто задаваемые вопросы на техническом собеседовании

Основная цель технического собеседования — проверить, как специалист применяет свои знания на практике. Но пока кандидат выполняет задание, интервьюер может задать вопросы из теории.

Например, у аналитиков данных могут спросить, как определить размер выборки для A/B-тестирования или какие могут быть метрики продукта. А у маркетологов — способы привлечения трафика или как оценить эффективность email-рассылки.

У разработчиков-джунов могут спросить:

● Какую базу данных лучше использовать?
● В чём минусы конкретного фреймворка?
● Какова алгоритмическая сложность написанного решения?
● На каких случаях стоит протестировать написанный код?
● Что будет, если изменить условия задачи?

Технические собеседования проходят не только разработчики. Вот один из примеров интервью с системным аналитиком. Источник

Основные ошибки на интервью

Собрали ошибки, которые чаще всего делают кандидаты на технических интервью:

❌Торопиться. Прежде чем приступать к написанию кода, нужно сначала уточнить условия задачи и спросить о том, что непонятно.

Артём Стрельцов

Когда я даю задачу, обычно заранее определяю места, где человек может ошибиться. И я слежу за тем, как кандидат пишет код. Стараюсь не обращать внимания на явные синтаксические проблемы. Забыл поставить двоеточие — не страшно, эту ошибку исправить гораздо легче, чем ошибку в логике программы. Если кандидат не видит ошибку в логике или не может её поправить со второго-третьего раза — это «красный флаг».

Молчать. Многие кандидаты решают задачу молча. Но это не лучшая модель поведения. Стоит обговорить с интервьюером логику решения: что нужно делать, какие инструменты использовать, сколько памяти потребуется. В таком случае интервьюер может даже помочь через наводящие вопросы.

Артём Стрельцов

Кандидат, когда проговаривает решение, сам себе помогает. Я называю это эффектом уточки — если программа не работает, нужно посадить перед собой что угодно, хоть резиновую уточку, и начать рассказывать ей код. Это как в случае, когда теряется вещь: чтобы её найти, первым делом человек проговаривает, где он последний раз её видел и мог потерять.

Преувеличивать свои знания и навыки. Если специалист чего-то не знает, об этом нужно честно сказать. И уточнить, что он готов учиться и работать над ошибками.

Волноваться. Это очень распространённая причина неудач на технических интервью.

Артём Стрельцов

Не всегда получается с первого раза. Важно делать всё возможное. Я тоже не с первого раза попал в Яндекс — разволновался, ошибся, и меня завернули. Зато в следующий раз пришёл подготовленный, знал, чего от меня ждут. Следует концентрироваться, верить в себя и при необходимости использовать метод резиновой уточки.

Совет эксперта

Артём Стрельцов

Собеседование — это разговор на равных. Кандидату важно помнить: если его пригласили, значит, компания видит в нём перспективного специалиста и заинтересована его нанять. Не нужно воспринимать это как одностороннюю коммуникацию. В лучшем случае человека наймут, в худшем — дадут обратную связь, и тогда он сможет понять, как прокачать свои навыки для следующего собеседования.
Статью подготовили:
Артем Стрельцов
Яндекс Практикум
Разработчик, провёл более 70 технических интервью
Надежда Низамова
Яндекс Практикум
Редактор
Полина Овчинникова
Яндекс Практикум
Иллюстратор

Дайджест блога: ежемесячная подборка лучших статей от редакции

Поделиться

Успейте начать учебу в Практикуме до конца ноября со скидкой 20%

Tue Jul 16 2024 17:28:47 GMT+0300 (Moscow Standard Time)