Загрузка…
Загрузка…
backend / senior / tech_deep
Формат
online
Стадия
tech_deep
Когда
within_quarter
Длительность
—
01
Код
Развернуть (реверс) строку без использования дополнительных структур данных, за один проход — поменять местами буквы/символы.
Яндекс, 1 этап — алгоритмическая задача уровня easy с LeetCode. Сначала объяснить подход, потом закодить без IDE, по памяти.
02
Код
Написать функцию для задачи про скобки (валидность/обработка скобочной последовательности) — часть подзадачи.
Яндекс, 2 этап — техническое интервью по Java, сдвоенная задача, первая часть.
03
Код
Спроектировать автомат для выдачи денег: сделать многопоточным, гибким, с поддержкой разных валют и номиналов через внешние настройки и абстракции. Суть — разменять крупную сумму на купюры разного номинала; например, при вводе 131 рубля понять, можно ли выдать сумму нацело.
Яндекс, 2 этап — вторая часть сдвоенной задачи. Обязательно требовалась многопоточность.
04
Теория
Расскажите про многопоточность в Java и как её применять (обязательно спрашивают, плохо если не используешь).
Яндекс/ВК — многопоточку очень любят спрашивать на углублённом этапе по Java.
05
Код
Найти два числа в неотсортированном массиве с заданными ограничениями (Two Sum-подобная задача).
ВК, 1 этап.
06
Теория
Углублённые вопросы по Java, в том числе многопоточность и более глубокие особенности языка.
ВК, 2 этап — более глубокое техническое интервью по Java.
07
System design
Спроектируйте архитектуру системы под нагрузку: какой стек используете, как организуете базы данных, кэширование, где разделите уровни транзакций и чтения. (Кандидат рассказывал про реальный проект — блокчейн-платформу из микросервисов на Java и Node.js, перенесённую в облако Google.)
Консалтика (платформа Нейронавтика), этап системного дизайна. Follow-ups: почему это не будет работать, как предупредишь возможные проблемы, почему выбрал именно это решение, почему будет работать при такой нагрузке.
08
Код
Find Triangular Sum of an Array.
Из списка из 16 задач LeetCode, присланного ВК для подготовки к 1 этапу.
09
Код
Add Two Numbers.
Из списка подготовки от ВК.
10
Код
Longest Substring Without Repeating Characters.
Из списка подготовки от ВК.
11
Код
Median of Two Sorted Arrays.
Из списка подготовки от ВК.
12
Код
Longest Palindromic Substring.
Из списка подготовки от ВК.
13
Код
Zigzag Conversion.
Из списка подготовки от ВК.
14
Код
Reverse Integer.
Из списка подготовки от ВК.
15
Код
String to Integer (atoi).
Из списка подготовки от ВК.
16
Код
Palindrome Number.
Из списка подготовки от ВК.
17
Код
Regular Expression Matching.
Из списка подготовки от ВК.
18
Код
Container With Most Water.
Из списка подготовки от ВК.
19
Код
Integer to Roman.
Из списка подготовки от ВК.
20
Код
Roman to Integer.
Из списка подготовки от ВК.
21
Код
Longest Common Prefix.
Из списка подготовки от ВК.
22
Код
3Sum Closest.
Из списка подготовки от ВК.
Заметки
Ретро-статья по итогам поиска работы бэкенд-Java-разработчиком из Сбера (Senior, 5+ лет). Реальные собеседования прошли только в трёх местах: Яндекс, ВК и Консалтика (разработчик платформы Нейронавтика). Воронка: ~8–10 приглашений (Яндекс, ВК, Авито, Озон, ВТБ, стартапы, Т1, ПСБ, 2ГИС), 3 реальных интервью, 1 предложение, но до формального оффера не дошло — не согласовали зарплату (кандидат просил +70%). В итоге остался в Сбере. Яндекс — отвалился на 2 (техническом Java) этапе, до системного дизайна не дошёл. ВК — не дошёл до fit-интервью, прислали обратную связь. Консалтика — единственное место с финалом: 4 технических интервью, включая общение с архитектором и одним из гендиректоров. Стандартный процесс в крупных компаниях: 4–5 этапов — HR-скрининг, алгоритмическая задача (LeetCode easy, ~1 час, без IDE), углублённое тех-интервью по стеку (для Java почти всегда многопоточность), системный дизайн, fit-интервью с командой/руководителем. Авито приглашали, но отказались из-за несовпадения стека (у них Golang, кандидат — Java); предлагали псевдокод без привязки к стеку, но не состыковались по времени. ВТБ и Озон — от собеседований отказался сам. Стартапы — процесс мягче, без лайвкодинга. Т1 — автоматический отказ ATS-системы (потом извинились за ошибку).
Подготовка
Регулярная ежедневная практика на LeetCode («катакодинг») — easy обязательно, medium желательно; результат приходит через несколько месяцев. К лайвкодингу нужно готовиться отдельно — это проверка алгоритмического мышления и скорости под давлением, а не практического опыта; на интервью легко начать тупить и терять время. Можно прямо спросить у рекрутера, что будет на интервью и к чему готовиться. У крупных компаний есть разборы на Хабре — что спрашивают.
Стиль интервьюера
Когда кандидат начинает тупить, интервьюеры на каждом этапе часто подсказывают («посмотри сюда, может, здесь вот так»). Чем больше таких подсказок, тем меньше шанс на хороший оффер. На системном дизайне интервьюеры активно челленджат: почему это не будет работать, как предупредишь проблемы, почему выбрал именно это решение.