Как всё устроено
Этапы
Цикл собеседований состоит из hr-скрининга, технических и финальных секций. Процесс адаптируется под ваш опыт, технологический стек и рассматриваемую должность.
Обратная связь
Стараемся как можно быстрее приходить к кандидатам с промежуточным фидбэком, а об итогах собеседования сообщать через день-два после встречи.
Если вам интересны конкретные сервисы или технологии, сообщите об этом рекрутеру.
Мы постараемся учесть это, когда будем организовывать финальные встречи с командами.
~ 3–4 недели
Продолжительность зависит от наличия свободных слотов у кандидата и собеседующих.
От 1 до 1,5 часов
1 час на решение задачи и 30 минут на организационные моменты.
Если на задачи потребуется 90 минут, рекрутер предупредит кандидата заранее.
Онлайн
- Собеседования проходят в Zoom или Телемосте.
- В секции с задачами на С++, Go используем онлайн-редактор.
Для Java и Python — IDE кандидата.- В секции Проверка базовых технических навыков используем только онлайн-редактор, независимо от языка.
Запись встречи
Возможна запись встречи с целью расшифровки её AI-инструментами, чтобы быстро и качественно выставить оценку за секцию.
В зависимости от языка программирования вас ждут секции
Секция на кодинг Java
- для проверки базовых навыков промышленной разработки на Java;
- для проверки более глубоких знаний Java, включая многопоточность.
Какой именно формат мы предложим вам пройти, зависит от вашего опыта. Рекрутер сообщит детали после HR-скрининга.
Секция длится 1,5 часа:
- 1 час — решение задачи;
- 30 минут — организационные моменты и обсуждение.
Если останется время, интервьюер может предложить усложнённую версию задачи.
Во время секции мы смотрим, как вы:
- владеете Java и стандартной библиотекой;
- проектируете интерфейсы классов и функций;
- выбираете подходящие структуры данных;
- пишете понятный и рабочий код;
- покрываете решение unit-тестами;
- рассуждаете о решении и объясняете свои шаги.
- Для интервью нужен ноутбук или стационарный компьютер. Во время встречи камера должна быть включена.
- Подключайтесь из места со стабильным интернетом и заранее проверьте, что Zoom или Телемост работают корректно и камера включается без проблем.
- Секция проходит в вашей IDE, поэтому заранее подготовьте пустой проект, в котором будете писать код.
- Проверьте, что проект собирается и тесты запускаются.
- Заранее подключите библиотеку для unit-тестов. При необходимости можно также подключить инструменты для mock-объектов.
- Можно пользоваться Javadoc, поиском по документации, стандартной библиотекой и привычными небольшими библиотеками с утилитами.
- Подключать базу данных, настраивать внешние сервисы или поднимать фреймворки вроде Spring не потребуется.
- Во время решения нельзя использовать Copilot, ChatGPT, Cursor и других AI-ассистентов.
В этом формате будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Обычно на такой секции требуется реализовать несколько классов и написать unit-тесты. Мы оцениваем:
- уверенное владение Java и стандартной библиотекой;
- умение спроектировать хороший интерфейс классов и функций;
- способность выбрать подходящие структуры данных;
- качество и читаемость кода;
- умение проверить решение тестами.
В этом формате также будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Такие задачи предполагают более глубокие знания Java и стандартной библиотеки. Дополнительно мы проверяем владение многопоточностью, включая базовые примитивы синхронизации из стандартной библиотеки.
Здесь особенно важно уметь самостоятельно продумать структуру решения, корректно организовать доступ к общим ресурсам и написать рабочий код с понятной логикой.
- Повторите стандартную библиотеку Java и базовые подходы к проектированию классов и интерфейсов.
- Вспомните, как пользоваться тестовым фреймворком.
- Если видите несколько вариантов решения, проговаривайте их.
- Перед сдачей проверьте код на ошибки.
- Старайтесь сначала написать рабочее решение — это лучше, чем выбрать слишком сложный подход и не успеть его довести до конца.
- Всё из подготовки к секции для проверки базовых знаний Java тоже пригодится.
- Повторите базовые примитивы синхронизации и типовые сценарии их применения.
- Освежите в памяти основные подходы к написанию и проверке многопоточного кода.
- Будьте готовы не только написать решение, но и объяснить, почему выбрали именно такую архитектуру и как обеспечивается корректность работы.
- Не торопитесь сразу писать код — сначала уточните условие задачи.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только итоговое решение, но и ваш ход рассуждений.
- Не стесняйтесь задавать вопросы. Собеседование — это совместная работа над задачей, а не экзамен.
Секция на кодинг Go
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают — вы можете шэрить экран и использовать камеру.
- Уточняйте условие задачи — не торопитесь сразу писать код.
- Проверяйте код на ошибки перед сдачей.
- Предлагайте разные решения. Если вам пришло в голову, как можно улучшить код, обязательно скажите об этом, даже если задачу уже рассмотрели и отложили в сторону.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
Секция на кодинг Python
Условия будут максимально приближены к реальным проектам. Примеры задач:
- Написать автотесты. Обычно используем pytest.
- Реализовать продуктовую фичу или оптимизировать код.
- Исправить продуктовые или технические ошибки в коде.
Можно искать информацию в интернете, если вы не подключаете Copilot, ChatGPT, Cursor и других AI-ассистентов к решению задачи.
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают — вы можете шэрить экран и использовать камеру.
- Подготовьте пустой проект в своей IDE и создайте venv, где будете писать код. Отключите все AI-инструменты разработчика.
- Повторите стандартные конструкции и паттерны языка. Например, как устроено владение памятью. Кроме того, вам понадобятся базовые знания многопоточности и асинхронности.
- Уточняйте условие задачи — не торопитесь сразу писать код.
- Проверяйте код на ошибки перед сдачей.
- Предлагайте разные решения. Если вам пришло в голову, как можно улучшить код, обязательно скажите об этом, даже если задачу уже рассмотрели и отложили в сторону.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только решение задачи, но и то, как вы к нему пришли.
Инструкция по отключению 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 для выключения.
Секция на кодинг C++
- для проверки базовых навыков программирования на C++;
- для проверки навыков написания многопоточного кода на C++.
Какой именно формат мы предложим вам пройти, зависит от вашего опыта. Рекрутер сообщит детали после HR-скрининга.
Секция длится 1,5 часа:
- 1 час — решение задачи;
- 30 минут — организационные моменты и обсуждение.
Если останется время, интервьюер может предложить усложнённую версию задачи.
Во время секции мы смотрим, как вы:
- владеете языком C++;
- проектируете интерфейсы классов и функций;
- выбираете подходящие структуры данных;
- рассуждаете о решении и объясняете свои шаги.
- Для интервью нужен ноутбук или стационарный компьютер. Во время встречи камера должна быть включена.
- Интервью проходит в нашей среде разработки — без компилятора и автоподсказок.
- Подключайтесь из места со стабильным интернетом и заранее проверьте, что Zoom или Телемост работают корректно и камера включается без проблем.
В этом формате обычно предлагается поработать с небольшим фрагментом кода: его нужно проанализировать, доработать, оптимизировать или изменить в соответствии с условиями задачи.
По ходу решения могут появляться дополнительные уточнения и новые условия. В процессе можно пользоваться справочными материалами по языку и стандартной библиотеке — важно уметь быстро находить нужную информацию и применять её на практике.
Здесь мы оцениваем, насколько уверенно вы работаете с существующим кодом, понимаете его структуру и пишете решение, которое можно встроить в уже работающую систему. Также интервьюеры обращают внимание на качество кода и уверенное владение STL.
В этом формате мы проверяем, насколько уверенно вы работаете с многопоточностью, включая базовые примитивы синхронизации из стандартной библиотеки C++.
Обычно на такой секции нужно написать решение с нуля. Важно продумать структуры данных и корректную синхронизацию доступа к общим ресурсам.
По сравнению с секцией на базовые навыки здесь требуется самостоятельно спроектировать решение с самого начала, а не дорабатывать готовый код.
- Повторите стандартные конструкции и распространённые паттерны языка. Например, как работают умные указатели.
- Если видите несколько вариантов решения, проговаривайте их. Даже если у вас уже есть рабочий вариант, полезно показать, как его можно улучшить.
- Озвучивайте свои рассуждения по ходу решения. Интервьюер оценивает не только итоговый ответ, но и ваш ход мысли.
Помимо практического опыта написания многопоточного кода, в подготовке могут помочь:
- Книга «C++. Практика многопоточного программирования»
- Повторение базовых примитивов синхронизации и сценариев их применения.
Секция на кодинг Kotlin
- для проверки базовых навыков промышленной разработки на Kotlin;
- для проверки более глубоких знаний Kotlin, включая многопоточность.
Какой именно формат мы предложим вам пройти, зависит от вашего опыта. Рекрутер сообщит детали после HR-скрининга.
Секция длится 1,5 часа:
- 1 час — решение задачи;
- 30 минут — организационные моменты и обсуждение.
Если останется время, интервьюер может предложить усложнённую версию задачи.
Во время секции мы смотрим, как вы:
- владеете Kotlin и стандартной библиотекой;
- проектируете интерфейсы классов и функций;
- выбираете подходящие структуры данных;
- пишете понятный и рабочий код;
- покрываете решение unit-тестами;
- рассуждаете о решении и объясняете свои шаги.
- Для интервью нужен ноутбук или стационарный компьютер. Во время встречи камера должна быть включена.
- Подключайтесь из места со стабильным интернетом и заранее проверьте, что Zoom или Телемост работают корректно и вы можете демонстрировать экран.
- Секция проходит в вашей IDE, поэтому заранее подготовьте пустой проект, в котором будете писать код.
- Проверьте, что проект собирается и тесты запускаются.
- Заранее подключите библиотеку для unit-тестов. При необходимости можно также подключить инструменты для mock-объектов.
- Можно пользоваться поиском и подключить привычные библиотеки c утилитами
- Подключать базу данных, поднимать http-сервера, настраивать фрейморки и т. д. не потребуется.
- Во время решения нельзя использовать Copilot, ChatGPT, Cursor и других AI-ассистентов.
В этом формате будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Обычно на такой секции требуется реализовать несколько классов и написать unit-тесты. Мы оцениваем:
- уверенное владение Kotlin и стандартной библиотекой;
- умение спроектировать хороший интерфейс классов и функций;
- способность выбрать подходящие структуры данных;
- качество и читаемость кода;
- умение проверить решение тестами.
В этом формате также будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Такие задачи предполагают более глубокие знания Kotlin и стандартной библиотеки. Дополнительно мы проверяем владение многопоточностью, включая базовые примитивы синхронизации из стандартной библиотеки.
Здесь особенно важно уметь самостоятельно продумать структуру решения, корректно организовать доступ к общим ресурсам и написать рабочий код с понятной логикой.
- Повторите стандартную библиотеку Kotlin и базовые подходы к проектированию классов и интерфейсов.
- Вспомните, как пользоваться тестовым фреймворком.
- Если видите несколько вариантов решения, проговаривайте их.
- Перед сдачей проверьте код на ошибки.
- Старайтесь сначала написать рабочее решение — это лучше, чем выбрать слишком сложный подход и не успеть его довести до конца.
- Всё из подготовки к секции для проверки базовых знаний Kotlin тоже пригодится.
- Повторите базовые примитивы синхронизации и типовые сценарии их применения.
- Освежите в памяти основные подходы к написанию и проверке многопоточного кода.
- Будьте готовы не только написать решение, но и объяснить, почему выбрали именно такую архитектуру и как обеспечивается корректность работы.
- Не торопитесь сразу писать код — сначала уточните условие задачи.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только итоговое решение, но и ваш ход рассуждений.
- Не стесняйтесь задавать вопросы. Собеседование — это совместная работа над задачей, а не экзамен.
Секция на кодинг Scala
- для проверки базовых навыков промышленной разработки на Scala;
- для проверки более глубоких знаний Scala, включая многопоточность.
Какой именно формат мы предложим вам пройти, зависит от вашего опыта. Рекрутер сообщит детали после HR-скрининга.
Секция длится 1,5 часа:
- 1 час — решение задачи;
- 30 минут — организационные моменты и обсуждение.
Если останется время, интервьюер может предложить усложнённую версию задачи.
Во время секции мы смотрим, как вы:
- владеете Scala и стандартной библиотекой;
- проектируете интерфейсы классов и функций;
- выбираете подходящие структуры данных;
- пишете понятный и рабочий код;
- покрываете решение unit-тестами;
- рассуждаете о решении и объясняете свои шаги.
- Для интервью нужен ноутбук или стационарный компьютер. Во время встречи камера должна быть включена.
- Подключайтесь из места со стабильным интернетом и заранее проверьте, что Zoom или Телемост работают корректно и вы можете демонстрировать экран.
- Секция проходит в вашей IDE, поэтому заранее подготовьте пустой проект, в котором будете писать код.
- Проверьте, что проект собирается и тесты запускаются.
- Заранее подключите библиотеку для unit-тестов. При необходимости можно также подключить инструменты для mock-объектов.
- Можно пользоваться поиском и подключить привычные библиотеки c утилитами.
- Подключать базу данных, поднимать http-сервера, настраивать фрейморки и т. д. не потребуется.
- Во время решения нельзя использовать Copilot, ChatGPT, Cursor и других AI-ассистентов.
В этом формате будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Обычно на такой секции требуется реализовать несколько классов и написать unit-тесты. Мы оцениваем:
- уверенное владение Scala и стандартной библиотекой;
- умение спроектировать хороший интерфейс классов и функций;
- способность выбрать подходящие структуры данных;
- качество и читаемость кода;
- умение проверить решение тестами.
В этом формате также будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Такие задачи предполагают более глубокие знания Scala и стандартной библиотеки. Дополнительно мы проверяем владение многопоточностью, включая базовые примитивы синхронизации из стандартной библиотеки.
Здесь особенно важно уметь самостоятельно продумать структуру решения, корректно организовать доступ к общим ресурсам и написать рабочий код с понятной логикой.
- Повторите стандартную библиотеку Scala и базовые подходы к проектированию классов и интерфейсов.
- Вспомните, как пользоваться тестовым фреймворком.
- Если видите несколько вариантов решения, проговаривайте их.
- Перед сдачей проверьте код на ошибки.
- Старайтесь сначала написать рабочее решение — это лучше, чем выбрать слишком сложный подход и не успеть его довести до конца.
- Всё из подготовки к секции для проверки базовых знаний Scala тоже пригодится.
- Повторите базовые примитивы синхронизации и типовые сценарии их применения.
- Освежите в памяти основные подходы к написанию и проверке многопоточного кода.
- Будьте готовы не только написать решение, но и объяснить, почему выбрали именно такую архитектуру и как обеспечивается корректность работы.
- Не торопитесь сразу писать код — сначала уточните условие задачи.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только итоговое решение, но и ваш ход рассуждений.
- Не стесняйтесь задавать вопросы. Собеседование — это совместная работа над задачей, а не экзамен.
Секция на кодинг C#
- для проверки базовых навыков промышленной разработки на C#;
- для проверки более глубоких знаний C#, включая многопоточность.
Какой именно формат мы предложим вам пройти, зависит от вашего опыта. Рекрутер сообщит детали после HR-скрининга.
Секция длится 1,5 часа:
- 1 час — решение задачи;
- 30 минут — организационные моменты и обсуждение.
Если останется время, интервьюер может предложить усложнённую версию задачи.
Во время секции мы смотрим, как вы:
- владеете C# и стандартной библиотекой;
- проектируете интерфейсы классов и функций;
- выбираете подходящие структуры данных;
- пишете понятный и рабочий код;
- покрываете решение unit-тестами;
- рассуждаете о решении и объясняете свои шаги.
- Для интервью нужен ноутбук или стационарный компьютер. Во время встречи камера должна быть включена.
- Подключайтесь из места со стабильным интернетом и заранее проверьте, что Zoom или Телемост работают корректно и вы можете демонстрировать экран.
- Секция проходит в вашей IDE, поэтому заранее подготовьте пустой проект, в котором будете писать код.
- Проверьте, что проект собирается и тесты запускаются.
- Заранее подключите библиотеку для unit-тестов. При необходимости можно также подключить инструменты для mock-объектов.
- Можно пользоваться поиском и подключить привычные библиотеки c утилитами.
- Подключать базу данных, поднимать http-сервера, настраивать фрейморки и т. д. не потребуется.
- Во время решения нельзя использовать Copilot, ChatGPT, Cursor и других AI-ассистентов.
В этом формате будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Обычно на такой секции требуется реализовать несколько классов и написать unit-тесты. Мы оцениваем:
- уверенное владение C# и стандартной библиотекой;
- умение спроектировать хороший интерфейс классов и функций;
- способность выбрать подходящие структуры данных;
- качество и читаемость кода;
- умение проверить решение тестами.
В этом формате также будет предложена одна практическая задача: нужно будет написать решение с нуля или исправить существующий код.
Такие задачи предполагают более глубокие знания C# и стандартной библиотеки. Дополнительно мы проверяем владение многопоточностью, включая базовые примитивы синхронизации из стандартной библиотеки.
Здесь особенно важно уметь самостоятельно продумать структуру решения, корректно организовать доступ к общим ресурсам и написать рабочий код с понятной логикой.
- Повторите стандартную библиотеку C# и базовые подходы к проектированию классов и интерфейсов.
- Вспомните, как пользоваться тестовым фреймворком.
- Если видите несколько вариантов решения, проговаривайте их.
- Перед сдачей проверьте код на ошибки.
- Старайтесь сначала написать рабочее решение — это лучше, чем выбрать слишком сложный подход и не успеть его довести до конца.
- Всё из подготовки к секции для проверки базовых знаний C# тоже пригодится.
- Повторите базовые примитивы синхронизации и типовые сценарии их применения.
- Освежите в памяти основные подходы к написанию и проверке многопоточного кода.
- Будьте готовы не только написать решение, но и объяснить, почему выбрали именно такую архитектуру и как обеспечивается корректность работы.
- Не торопитесь сразу писать код — сначала уточните условие задачи.
- Проговаривайте вслух свои мысли и выводы. Интервьюер оценивает не только итоговое решение, но и ваш ход рассуждений.
- Не стесняйтесь задавать вопросы. Собеседование — это совместная работа над задачей, а не экзамен.
Проверка базовых технических навыков
- Подключитесь из места со стабильным интернетом с ноутбука или десктопа. Проверьте, что Zoom или Телемост работают: вы можете демонстрировать экран и использовать камеру.
- Потренируйтесь на специальных платформах, например LeetCode. Порешайте задачи уровня easy и medium с тегами Array, String, Tree, Binary Search, Hash Table, Depth-first Search, Breadth-first Search, Two Pointers, Stack, Backtracking, а также задачи с разными уровнями acceptance.
- Практикуйте написание кода на бумаге — этот опыт отличается от работы в IDE. На секции, конечно, на бумаге писать не будем, но опыт полезен.
- Потренируйтесь объяснять ход своих мыслей: проговаривайте решение вслух, пока тренируетесь.
- Ознакомьтесь с примерами задач, которые могут встретиться на интервью.
- Посмотрите ещё примеры:
- Почитайте статью «Как пройти алгоритмическое собеседование в Яндекс».
- Изучите, как оценивать сложность..
Архитектурная секция
- Продемонстрировать аналитическое и критическое мышление, широкий кругозор, умение корректно формулировать свои мысли;
- Спроектировать распределённую систему или её часть, которая будет соответствовать выбранным задачам, нагрузке, доступности и другим требованиям;
- Оценить производительность системы, а также объём вычислительных ресурсов, необходимый для её штатного функционирования;
- Показать понимание проблем хранения и обработки данных в распределённых системах, рассказать о достоинствах и недостатках различных подходов к решению этой задачи;
- Предложить структуру данных и алгоритм, которые позволят решить задачу с минимальными затратами вычислительных ресурсов и трудоёмкостью;
- Показать понимание аспектов эксплуатации комплексных систем: балансировки нагрузки, обеспечения отказоустойчивости, соблюдения технических требований по доступности и производительности.
Секция про опыт
Разработчик Individual Contributor
Подготовьте информацию о проекте, где вы играли ключевую роль. Желательно, чтобы проект был не старше 2–3 лет, внедрён в продакшн и длился не менее полугода. Выбирайте сложный кейс — тот, где вы столкнулись с нетривиальными техническими задачами.
Если у вас есть статьи, презентации или другие материалы, которые помогут оценить масштаб проекта, покажите их интервьюеру. Освежите в памяти технические детали и вспомните, как принимали ключевые решения и декомпозировали задачу, кто был вовлечён в данный проект.
Используйте методику STAR, чтобы сформулировать правильные акценты.
Руководитель команды People manager
Поговорим про ваш предыдущий опыт: как управляли командой, развивали её помогали достигать поставленных целей, в чём именно заключалась ваша ответственность. Обсудим ключевые навыки тимлида: примеры найма и увольнения сотрудников, проектные процессы, взаимодействие со смежными командами, решение конфликтных ситуаций.
Для интервью нужен ноутбук или ПК. Во время интервью должна быть включена камера.
Финал
Встреча с руководителем команды. Встреча займёт 1 час.
Подробнее расскажем о сервисе, задачах и проектах направления. Не стесняйтесь задавать вопросы. Это поможет больше узнать о проекте и выбрать тот, который вам интересен.
После всех финалов обменяемся фидбэком и сообщим, кто готов пригласить вас к себе.
Количество встреч зависит от результатов интервьюКак правило, от одной до трёх