Как всё устроено
Этапы
Цикл собеседований состоит из hr-скрининга, технических и финальных секций. Процесс адаптируется под ваш опыт, технологический стек и рассматриваемую должность.
Обратная связь
Стараемся как можно быстрее возвращаться с промежуточным фидбэком, а об итогах собеседования сообщать через два-три рабочих дня после встречи.
Если вам интересны конкретные сервисы или технологии, сообщите об этом рекрутеру.
Мы постараемся учесть пожелания, когда будем организовывать финальные встречи с командами.
~ 3-4 недели
Продолжительность зависит от наличия свободных слотов у кандидата и собеседующих.
От 1 до 1,5 часов
1 час на решение задач и 30 минут на организационные вопросы. Если на задачи потребуется 90 минут, рекрутер предупредит вас заранее.
Онлайн
- Cобеседования проходят в Zoom.
- В секции с задачами на С++, Go используем онлайн-редактор. Для Java и Python — IDE кандидата.
- Для алгоритмических задач используем только онлайн-редактор, независимо от языка.
На каких языках программирования проходят секции
Секция на кодинг Java / Kotlin / Scala / C#
Предложим типовую задачу в IDE. В отличие от алгоритмов, эта секция будет более практической. Например, разработать небольшую часть промышленной задачи или улучшить существующий код. Проверим, как вы проектируете код и пишете тесты. Рекомендуем уточнить условия задачи перед написанием. Можно пользоваться справками по ЯП и стандартным библиотекам. Главное не подключать Copilot, ChatGPT, Cursor и других AI-ассистентов к решению задачи.
- Можно выбрать Java, Kotlin, Scala или C# и подход к написанию кода.
- Предстоит написать несколько классов и unit-тесты к ним.
- Подключать БД и ходить во внешние сервисы не будем.
- Для интервью нужен ноутбук или ПК. Во время интервью должна быть включена камера.
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают — вы можете шэрить экран и использовать камеру.
- Подготовьте пустой проект, в котором будете писать код. Проверьте, что проект собирается и тесты запускаются.
- Подключите к проекту инструменты для unit-тестов и mock-ов.
- Вспомните, как пользоваться тестовым фреймворком.Например, для асинхронных операций и mock-ов.
- Уточняйте условие задачи — не торопитесь сразу писать код.
- Проверяйте код на ошибки перед сдачей.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
- Напишите рабочий код — это лучше, чем найти оптимальное решение, но не рабочее.
- Не стесняйтесь задавать вопросы интервьюеру. Собеседование — совместная работа над решением задачи, а не экзамен.
Инструкция по отключению AI-инструментов в IDE
К секции необходимо подготовить вашу IDE так, чтобы AI не помогал решению задачи. Для этого стоит выключить все умные/интеллектуальные/AI ассистенты, автокомплитеры, анализаторы и так далее. Стандартные автокомплитеры использовать можно.
Ниже общие инструкции к отключению AI-инструментов к некоторым IDE:
Pycharm
- Отключить все AI/ML плагины:
Settings → Plugins → Installed Tab.
Найти блокLocal AI/ML Tools и нажатьDisable All. - Сторонние AI и ML плагины выключить таким же образом.
- Инструкция по отключению AI Assistant от JetBrains (cоздать пустой файл
.noai в корне директории). - Проверить, что отключено интеллектуальное дополнение кода.
Zed
- Инструкция по отключению.
- Если коротко, то выключить AI можно так:
{ "disable_ai": true } вsettings.json (Settings → Open Settings)
VS Code
Settings → Extensions: Github Copilot → Disable. - Можно просто выйти из Github аккаунта, кликнув по иконке человека рядом с настройками в левом нижнем углу.
- Выключить подобным образом остальные AI плагины.
Cursor
- Нажать
Ctrl + Shift + P на Win илиCmd + Shift + P на Mac для открытия палитры команд. Ввести"Cursor Tab: Disable" и нажатьEnter для выключения.
Секция на кодинг Python
Условия будут максимально приближены к реальным проектам. Примеры задач:
- Написать автотесты. Обычно используем pytest.
- Реализовать продуктовую фичу или оптимизировать код.
- Исправить продуктовые или технические ошибки в коде.
Можно искать информацию в интернете, если вы не подключаете Copilot, ChatGPT, Cursor и других AI-ассистентов к решению задачи.
Для интервью нужен ноутбук или ПК. Во время интервью должна быть включена камера.
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают: вы можете демонстрировать экран и использовать камеру.
- Подготовьте пустой проект в своей IDE и создайте venv, где будете писать код. Отключите все AI-инструменты разработчика.
- Повторите стандартные конструкции и паттерны языка. Например, как устроено владение памятью. Кроме того, вам понадобятся базовые знания многопоточности и асинхронности.
- Уточняйте условие задачи — не торопитесь сразу писать код.
- Проверяйте код на ошибки перед сдачей.
- Предлагайте разные решения. Если вам пришло в голову, как можно улучшить код, обязательно скажите об этом, даже если задачу уже рассмотрели и отложили в сторону.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
Инструкция по отключению AI-инструментов в IDE
</summary>К секции необходимо подготовить вашу IDE так, чтобы AI не помогал решению задачи. Для этого стоит выключить все умные/интеллектуальные/AI ассистенты, автокомплитеры, анализаторы и так далее. Стандартные автокомплитеры использовать можно.
Ниже общие инструкции к отключению AI-инструментов к некоторым IDE:
Pycharm
- Отключить все AI/ML плагины: <bi>Settings → Plugins → Installed Tab.</bi>
Найти блок <bi>Local AI/ML Tools</bi> и нажать <bi>Disable All.</bi> - Сторонние AI и ML плагины выключить таким же образом.
- Инструкция по отключению AI Assistant от JetBrains (cоздать пустой файл <bi>.noai</bi> в корне директории).
- Проверить, что отключено интеллектуальное дополнение кода.
Zed
- Инструкция по отключению.
- Если коротко, то выключить AI можно так: <bi>{ "disable_ai": true }</bi> в <bi>settings.json (Settings → Open Settings)</bi>
VS Code
- <bi>Settings → Extensions: Github Copilot → Disable.</bi>
- Можно просто выйти из Github аккаунта, кликнув по иконке человека рядом с настройками в левом нижнем углу.
- Выключить подобным образом остальные AI плагины.
Cursor
- Нажать <bi>Ctrl + Shift + P</bi> на Win или <bi>Cmd + Shift + P</bi> на Mac для открытия палитры команд. Ввести <bi>"Cursor Tab: Disable"</bi> и нажать <bi>Enter</bi> для выключения.
Секция на кодинг Go
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают: вы можете демонстрировать экран и использовать камеру.
- Уточняйте условие задачи — не торопитесь сразу писать код.
- Проверяйте код на ошибки перед сдачей.
- Предлагайте разные решения. Если вам пришло в голову, как можно улучшить код, обязательно скажите об этом, даже если задачу уже рассмотрели и отложили в сторону.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
Секция на кодинг C++
Будет одна или две секции — зависит от вашего уровня и того, проходили ли вы ранее технические интервью в Яндекс. Количество секций сообщим вам на HR-скрининге.
На самих встречах предложим решить повседневную задачу для разработчика на C++. Оценим, как владеете языком, проектируете программные интерфейсы классов и функций, выбираете нужные структуры данных. Одна секция занимает 1,5 часа — час на решение задачи и 30 минут на организационные моменты.
Для интервью нужен ноутбук или ПК. Во время интервью должна быть включена камера.
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают: вы можете демонстрировать экран и использовать камеру.
- Повторите стандартные конструкции и паттерны языка. Например, как устроено владение памятью, как работают счётчики ссылок или умные указатели.
- Предлагайте разные решения. Если вам пришло в голову, как можно улучшить код, обязательно скажите об этом, даже если задачу уже рассмотрели и отложили в сторону.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
Секция на проверку базовых технических навыков
С чем можете столкнуться на секции:
— Строки, массивы
Чего точно не будет:
— Динамическое программирование
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают: вы можете демонстрировать экран и использовать камеру.
- Потренируйтесь на специальных платформах, например, LeetCode. Порешайте задачи уровня easy и medium с тегами: Array, String, Tree, Binary Search, Hash table, Depth-first Search, Breadth-first Search, Two Pointers, Stack, Backtracking; а также задачи с разными уровнями acceptance.
- Рекомендуем практиковать написание кода на бумаге — этот опыт отличается от работы в IDE. На секции, конечно, на бумаге писать не будем, но опыт полезен.
- Потренируйтесь объяснять ход своих мыслей — проговаривайте решение вслух, пока тренируетесь.
- Примеры задач, которые могут встретиться на интервью.
Архитектурная секция
- Продемонстрировать аналитическое и критическое мышление, широкий кругозор, умение корректно формулировать свои мысли;
- Спроектировать распределённую систему или её часть, которая будет соответствовать выбранным задачам, нагрузке, доступности и другим требованиям;
- Оценить производительность системы, а также объём вычислительных ресурсов, необходимый для её штатного функционирования;
- Показать понимание проблем хранения и обработки данных в распределённых системах, рассказать о достоинствах и недостатках различных подходов к решению этой задачи;
- Предложить структуру данных и алгоритм, которые позволят решить задачу с минимальными затратами вычислительных ресурсов и трудоёмкостью;
- показать понимание аспектов эксплуатации комплексных систем: балансировки нагрузки, обеспечения отказоустойчивости, соблюдения технических требований по доступности и производительности.
Секция про опыт
Tech Lead / Individual Contributor
Подготовьте информацию о проекте, где вы играли ключевую роль. Желательно, чтобы проект был не старше 2-3 лет, длился не менее полугода и внедрён в продакшен. Выбирайте сложный кейс, где вы в наибольшей степени проявили свои технические и организационные навыки.
Заранее подготовьте описание проекта. Если у вас есть статьи, презентации или другие материалы — не забудьте добавить их в описание. Освежите в памяти технические детали и вспомните, как принимали ключевые решения, как реализовывали проект и кто еще был в него вовлечён.
Используйте методику STAR, чтобы правильно построить свой рассказ о проекте.
Engineering Manager / People manager
Поговорим про ваш предыдущий опыт: как управляли командой, развивали её помогали достигать поставленных целей, в чём именно заключалась ваша ответственность. Обсудим ключевые навыки тимлида: примеры найма и увольнения сотрудников, проектные процессы, взаимодействие со смежными командами, решение конфликтных ситуаций.
Для интервью нужен ноутбук или ПК. Во время интервью должна быть включена камера.
Финал
На финалы приглашаются кандидаты, успешно прошедшие все предыдущие этапы. Финал — это одна или несколько встреч с руководителями, готовыми пригласить вас к себе в команды. Каждый финал займет 1 час.
Руководители расскажут о сервисе и задачах. Не стесняйтесь задавать вопросы. Это поможет вам выбрать наиболее интересный проект
После всех финалов обменяемся фидбэком и сообщим, кто готов пригласить вас к себе.
Как правило у успешного кандидата бывает от одного до трёх финалов.