Загрузка…
Загрузка…
backend / senior / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Поведенческий
HR-скрининг: расскажите о своём опыте работы (стандартные вопросы про опыт и навыки).
HR-этап, общий для крупных компаний
02
Код
Сделайте реверс строки без использования дополнительных структур данных, за один проход (поменять местами символы).
Яндекс, первый этап. Решение по памяти, без IDE, сначала объяснить подход.
03
Код
Напишите функцию для проверки корректности скобок (часть сдвоенной задачи).
Яндекс, второй этап (тех. интервью по Java), первая часть сдвоенной задачи.
04
Код
Спроектируйте автомат для выдачи денег: сделать многопоточным, гибким, с поддержкой разных валют и номиналов через внешние настройки и абстракции. Нужно разменять крупную сумму на купюры разного номинала и понять, можно ли выдать сумму нацело (например, 131 рубль).
Яндекс, второй этап, вторая часть сдвоенной задачи. Обязательно использование многопоточности.
05
Теория
Расскажите про многопоточность в Java и примените её в решении (как организовать одновременное выполнение действий).
Обязательно спрашивают на углублённом тех. интервью по Java (Яндекс, ВК).
06
Код
Найдите два числа в неотсортированном массиве с заданными ограничениями (Two Sum).
ВК, первый этап. Прислали список из 16 задач LeetCode для подготовки (easy обязательно, medium желательно).
07
Теория
Углублённое техническое интервью по Java: многопоточность и более глубокие вещи по языку.
ВК, второй этап.
08
System design
Спроектируйте архитектуру системы под заданную нагрузку (на примере реальной блокчейн-платформы из микросервисов на Java и Node.js, перенесённой в облако Google): какой стек, как организуете базы данных, кэширование, разделение уровней транзакций и чтения.
Консалтика (платформа Нейронавтика), этап системного дизайна. Кандидат рассказывал про реальный проект.
09
Теория
Почему вы выбрали именно это решение/технологии для архитектуры?
Follow-up на этапе системного дизайна.
10
Кейс
Почему предложенное решение не будет работать и как вы предупредите возможные проблемы при такой нагрузке?
Follow-up интервьюеров на этапе системного дизайна.
Заметки
Ретроспективная статья по поиску работы Java/бэкенд-разработчиком (текущее место — Сбер, Senior). Воронка: ~8-10 приглашений (Яндекс, ВК, Авито, Озон, ВТБ, стартапы, Т1, ПСБ, 2ГИС), 3 реальных интервью — Яндекс, ВК и «Консалтика» (платформа Нейронавтика). Яндекс: отвалился на техническом этапе (не дошёл до системного дизайна). ВК: не дошёл до fit-интервью, прислали обратную связь. Консалтика: единственный финал (4 технических интервью, включая архитектора и одного из гендиректоров), готовы были дать +70% к зарплате, но формального оффера не случилось по неизвестным причинам. В итоге кандидат остался в Сбере. Авито отказались из-за несовпадения стека (Golang против Java). Типовой процесс в крупных компаниях: 4-5 этапов (HR → алгоритмы easy LeetCode за ~1 час без IDE → углублённое тех-интервью по стеку → системный дизайн → fit-интервью с командой). Столкнулся с ATS-фильтрацией (ложный автоотказ в Т1).
Подготовка
Регулярная практика алгоритмов на LeetCode («катакодинг» — многократное повторение задач каждый день в течение нескольких месяцев), а не неделя перед собесом. Обязательно решать easy, желательно medium. Готовиться к лайвкодингу по памяти без IDE (проверяют алгоритмическое мышление и скорость под давлением). Для Java учить многопоточность. Можно прямо спросить рекрутера, что будет на интервью. Смотреть разборы на Хабре о найме в конкретные компании. Чем больше подсказок от интервьюера приходится получать, тем ниже шанс хорошего оффера.
Стиль интервьюера
Технические этапы проводят разработчики (1-2 человека). Когда кандидат начинает «тупить», интервьюеры подсказывают направление. На системном дизайне активно челленджат: «почему это не будет работать», «как предупредишь проблемы», «почему использовал именно это». Крупные компании готовы долго ждать интересного кандидата (вплоть до месяца). Стартапы — мягче, без лайвкодинга, больше разговоров по сути.