Что должен знать разработчик для собеседования

Привет всем,

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

Каждая новая часть цикла — статья, раскрывающая один из пунктов чеклиста ниже. Если вы хорошо знаете английский, то к каждой задаче приложена ссылка на англоязычный вариант (с возможностью проверки решения).

Начнём с классики

  1. Задача "FizzBuzz" (Hackerrank)
  2. Задача о сумме подмножеств (Википедия) (Leetcode)
  3. Массивы: Сдвиг Влево (Hackerrank)
  4. Задача "Анаграммы" (Hackerrank)
  5. Задача "Число Фибоначчи» (Algoexpert)

Как успехи? Потратьте минутку и оцените себя на этих классических задачах. Большинство из них нас спрашивали в какой-то момент интервью, часто в самом начале - для очистки зерен от плевел. Многие из них не имеют ничего общего с алгоритмами и структурами данных, но требуют хорошего понимания циклов и массивов (да, массив - структура данных).

Чеклист будущих статей цикла:

  1. Алгоритмы и структуры данных
  2. Сложность алгоритмов
  3. Динамическое программирование
  4. Работа со строками
  5. Практические задачи
  6. Проектирование систем
  7. Операционные системы
  8. Потоки
  9. ООП
  10. Паттерны проектирования
  11. SQL

Процесс подготовки к собеседованию может быть тяжелым, потому что у вас появляется ощущение, будто вы не двигаетесь с места. Это руководство к обучению поможет вам мониторить ваш прогресс. Следить за новыми статьями в цикле можно, подписавшись на тематическую рассылку ВК.

Удачи в грядущих собеседованиях!

724 views·27 shares