Сколько нужно на самом деле
Гораздо меньше, чем пугают. Новичку на собеседовании дают задачи, которые решаются за пятнадцать-двадцать минут и не требуют знания хитрых структур данных.
Готовиться месяцами по толстому учебнику не нужно. Двадцати-тридцати простых задач достаточно, чтобы чувствовать себя уверенно.
Что надо знать
Массивы и строки. Перебор, поиск, разворот, подсчёт, удаление повторов. Это основа большинства задач для новичков.
Словари и множества. Понимание, что поиск в них быстрый, а в списке — медленный. Половина задач решается тем, что вы догадались использовать словарь.
Сортировку — на уровне пользователя. Знать, что она есть, уметь сортировать по своему условию. Писать быструю сортировку с нуля не просят.
Сложность — на пальцах. Достаточно понимать разницу между «проходим один раз» и «для каждого элемента проходим весь список ещё раз». Про логарифмы можно ответить в общих чертах.
Рекурсию — базово. Понимать идею и уметь написать простое: факториал, обход дерева.
Чего знать не надо
Динамического программирования, графов, сложных деревьев, хитрых алгоритмов поиска. Если у новичка это спрашивают, чаще всего это либо перебор со стороны компании, либо задача со звёздочкой, которую вы не обязаны решить.
Типовые задачи
Прорешайте по два-три примера каждого вида:
- Развернуть строку или массив.
- Найти повторяющиеся элементы.
- Посчитать частоту символов или слов.
- Проверить, что скобки расставлены правильно.
- Найти два числа с заданной суммой.
- Слить два отсортированных списка.
- Проверить палиндром.
- Найти самое частое значение.
- Убрать повторы, сохранив порядок.
- Посчитать что-нибудь в тексте.
Этого набора хватает для подавляющего большинства собеседований на начальные позиции.
Как готовиться
Решайте вслух. Главный навык — не решить, а объяснить. Тренируйтесь проговаривать: что понял из условия, какой подход, почему такой, на чём проверю.
Записывайте себя. Неприятно, но полезно: услышите, где мямлите и где проглатываете рассуждение.
Не заучивайте решения. Заученное видно сразу, и на изменённом условии вы поплывёте.
На самом собеседовании
- Уточните условие. Что если пустой ввод? Могут ли быть отрицательные числа? Один вопрос перед началом производит очень хорошее впечатление.
- Проговорите подход до кода. «Пройду один раз, буду складывать в словарь, потом выберу максимум».
- Пишите и объясняйте одновременно. Молчание — худшее, что можно делать.
- Проверьте на крайних случаях. Пустой ввод, один элемент, все одинаковые. Про это забывают почти все, а вспомнить — заметный плюс.
Задача на собеседовании — это разговор, а не экзамен. Оценивают собеседника, а не олимпиадника.
Открытые роли по теме статьи
Читать полезно, а делать — ещё полезнее. В эти команды можно написать прямо сейчас:
- iOS-разработчик — MAIBO - MedTech-пилот для клиник
- Контент-маркетолог / комьюнити — CohortX — платформа командных пет-проектовмаркетингtelegramseoконтент
Похожие статьи
- Rejections: how to respond and what to take from themWhy a rejection is usually not about you, how to ask for a reason and get an answer, and how not to burn out over months of searching.
- Отказы: как реагировать и что из них извлекатьПочему отказ чаще не про вас, как спросить причину и получить ответ, и как не сгореть за месяцы поиска.
- Fifteen SQL queries you'll be asked at an interviewStandard problems with notes on what each one tests, and the places beginners get them wrong.