Что должен знать разработчик для собеседования
Привет всем,
Эта статья станет открывающей в цикле статей по подготовке студентов и новичков в индустрии к первому собеседованию. Собеседования на позицию разработчика, также как и другие технические собеседования, требуют большого объема подготовки. Существует набор вещей, которые вы должны знать, чтобы быть уверенными, что вы готовы встретиться лицом к лицу с вопросами по алгоритмам, структурам данных, дизайну, оптимизации и всему тому, что ежедневно изобретают HR’ы компаний.
Каждая новая часть цикла — статья, раскрывающая один из пунктов чеклиста ниже. Если вы хорошо знаете английский, то к каждой задаче приложена ссылка на англоязычный вариант (с возможностью проверки решения).
Начнём с классики
- Задача "FizzBuzz" (Hackerrank)
- Задача о сумме подмножеств (Википедия) (Leetcode)
- Массивы: Сдвиг Влево (Hackerrank)
- Задача "Анаграммы" (Hackerrank)
- Задача "Число Фибоначчи» (Algoexpert)
Как успехи? Потратьте минутку и оцените себя на этих классических задачах. Большинство из них нас спрашивали в какой-то момент интервью, часто в самом начале - для очистки зерен от плевел. Многие из них не имеют ничего общего с алгоритмами и структурами данных, но требуют хорошего понимания циклов и массивов (да, массив - структура данных).
Чеклист будущих статей цикла:
- Алгоритмы и структуры данных
- Сложность алгоритмов
- Динамическое программирование
- Работа со строками
- Практические задачи
- Проектирование систем
- Операционные системы
- Потоки
- ООП
- Паттерны проектирования
- SQL
Процесс подготовки к собеседованию может быть тяжелым, потому что у вас появляется ощущение, будто вы не двигаетесь с места. Это руководство к обучению поможет вам мониторить ваш прогресс. Следить за новыми статьями в цикле можно, подписавшись на тематическую рассылку ВК.
Удачи в грядущих собеседованиях!