На днях общался со старым знакомым из Т-Банка, которые уже давно закрепился как ML разработчик в штате и он по…
На днях общался со старым знакомым из Т-Банка, которые уже давно закрепился как ML разработчик в штате и он подкинул пару инсайдов по секциям при отборе на стажировку.
Во первых, не забываем, что секция проверяет не энциклопедические знания, а то, как ты думаешь, решаешь задачи, пишешь код и общаешься. Не забываем подключать шарм, ведем себя уверенно.
Что именно смотрят?
- Умение формализовать задачу: перевести условие в чёткую модель. (попробуйте задать себе вопрос, какие в быту задачи может решать тот или иной алгоритм. Например, почему сортировка может быть полезна, как деревья помогает структурировать данные).
- Знание типовых структур данных и алгоритмов, умение оценивать сложность по времени и памяти. (тут база, два указателя, бин поиск, сортировки, хэш мапы, деревья).
- Умение находить ошибки “в голове” и аккуратно исправлять код. (попробуйте банально самостоятельно в редакторе пописать код).
- Чистоту и структуру кода, базовые coding-навыки. (просите при написании кода до собесов просить гпт критиковать свой код, с каким нибудь промптом "Ты - суровый критик кода и тд").
- Адекватность и культуру общения. (Шарм, шарм, шарм)
Формат и ожидания
- За час ожидают минимум 2 задачи; могут быть запасные, если задача уже знакома или слишком сложная. Тут внимание:
2 задачки (изи+медиум) - уровень медиум, 3 - сеньёр,
1/1,5 - джун
Часто в алгосееции достаточно джун/джун+ для прохода дальше на мидловскую позицию, если теор этап хорошо пройден, если плохо, то нужен грейд повыше.
Джун минус обычно реджект (это только 1 изи задачка / успеть придумать идею к решению медиума).
Если все 3 решил, сеньеров в алгосах отдельно в чатике прокидывают (на них смотрит больше команд).
- Камера у кандидата должна быть включена весь час, технические проблемы — повод переноса.
- В начале: приветствие, представление всех в звонке, уточнение “ты/вы”, короткий smalltalk, иногда вопрос про опыт с LeetCode.
Как будет строиться решение
- Ключевая установка: сначала устное решение, потом код.
- Интервьюер ждёт, что ты сначала “на пальцах” объяснишь идею, только потом начнёшь писать.
- Условие и 1–2 простых примера будут перед глазами, но краевые случаи часто не дают — их ждут от тебя.
Среда для кодинга
- Могут использовать внутреннюю платформу (Digital Interview) или онлайн-редактор.
- Тебя могут спросить, где удобнее писать: можно шарить свою IDE, но акцент не на отладке мышкой, а на алгоритмическом мышлении и “отладке в голове”.
Если застрял или задачу уже видел
- Если застрял, интервьюер может: перепроговорить условие, дать пару простых примеров, попросить хотя бы лобовое решение, дать контрпример или пройтись по тестам вручную.
- Если обсуждение буксует 15–20 минут, задачу могут упростить или заменить.
Поведение
- Важно вслух и структурно объяснять своё решение, а не молча кодить.
- Нервозность и неаккуратный код при хорошей идее — частый кейс, поэтому помогает шаг назад и повторная структуризация решения.
- Подсказки со стороны и “слишком характерный” чужой код могут вызвать дополнительные вопросы и модификацию задачи; при явной нечестности собеседование могут досрочно завершить.
- Интервьюер “должен быть вежливым” и оценивает не тебя как человека, а качество решения и коммуникации.
Например, недавно, мой знакомый давал такую задачку:
Задача: дана последовательность целых чисел и число K (K ≥ 0). Требуется посчитать, сколько существует пар индексов (i, j) таких, что (i <= j) и модуль разности соответствующих элементов массива не меньше K, то есть (|a_i - a_j| >= K).
Примеры вызова функции `k_pairs`:
-
pairs([1, 2, 3, 4], 3) -> 1
-
pairs([1, 1, 3, 4], 2) -> 4
-
pairs([], 2) -> 0
-
pairs([1, 1, 3, 4], 20) -> 0
@zadachi_ds
Откликнуться в Telegram →
⚠️ Никогда не платите «за оформление» или «гарантию трудоустройства» — это признак мошенников. Работа ТРУ не несёт ответственности за содержание вакансии.