Команда платформенных и инфраструктурных компонент
Команда платформенных и инфраструктурных компонент
В Яндексе традиционно отлично развита инфраструктура обычных «серверных» сервисов и почти ничего нет для «железных» проектов. Наша команда почти с нуля создаёт среду обитания роботов: такую, чтобы и роботам нравилось, и людям было удобно их непрерывно развивать.
Ключевые задачи
Создание платформы для симуляции всех процессов на роботе
Создание систем автоматизации для управления большим кластером разнородных роботов
Разработка технологии CI/CD пайплайнов для кода различных вычислительных систем роботов
Масштабирование и повышение доступности систем управления роботом
Создание системы мониторинга и телеметрии каждой детали систем управления и узлов робота
Реализация и развитие систем поставки и анализа данных с роботов
Специализированный код
(1ч + 15 мин резервного времени на технические проблемы)
Предлагаем решить две задачи: одну совсем простенькую для разминки и вторую на различные примитивы, используемые в робототехнике (графы, деревья, матрицы, линейная алгебра и т. п.).
Техническая секция
(1ч + 15 мин резервного времени на технические проблемы)
Общаемся про технологии сбора данных, распределенные вычисления, мониторинги, организацию приемочных испытаний кода. Для желающих работать близко с ОС Linux — про работу в нем и его устройство.
Алгоритмическая секция
(~1,5 ч)
Предлагаем решить две задачи с использованием базовых алгоритмов и структур данных в редакторе с подсветкой кода. Задачи не требуют знания конкретных известных алгоритмов или редких структур данных, но вам поможет подготовиться практика на Leetcode (уровень easy/medium, например).
Архитектура
(1,5 ч)
Секция возможна для калибровки уровня/навыка
Проектируем инфраструктурные сервисы, необходимые для надежной работы отдельных компонент или даже целого робота, решающего задачу в известном окружении.
Знакомство с лидом/техлидом
(~1 ч)
На этой встрече мы поговорим о вашей мотивации и комфортной роли в команде, расскажем про наши проекты, задачи, стек, технологии и процессы, ответим на вопросы. Может быть несколько отдельных финалов, чтобы познакомиться с разными командами.
Специализированный код
(1 ч + 15 минут резервного времени на технические проблемы)
Предлагаем решить две задачи: одну совсем простенькую для разминки и вторую на различные примитивы, используемые в робототехнике (графы, деревья, матрицы, линейная алгебра и т. п.).
Техническая секция
(1 ч + 15 минут резервного времени на технические проблемы)
Общаемся про технологии сбора данных, распределенные вычисления, мониторинги, организацию приемочных испытаний кода. Для желающих работать близко с ОС Linux — про работу в нем и его устройство.
Алгоритмическая секция
(~1,5 ч)
Предлагаем решить две задачи с использованием базовых алгоритмов и структур данных в редакторе с подсветкой кода. Задачи не требуют знания конкретных известных алгоритмов или редких структур данных, но вам поможет подготовиться практика на Leetcode (уровень easy/meduim, например).
Архитектура
(1,5 ч)
Секция возможна для калибровки уровня/навыка
Проектируем инфраструктурные сервисы, необходимые для надежной работы отдельных компонент, или даже целого робота, решающего задачу в известном окружении.
Знакомство с лидом/техлидом
(~1 ч)
На этой встрече мы поговорим о вашей мотивации и комфортной роли в команде, расскажем про наши проекты, задачи, стек, технологии и процессы, ответим на вопросы. Может быть несколько отдельных финалов, чтобы познакомиться с разными командами.
Несколько полезных советов
Во время подготовки к секциям
Потренируйтесь в решении подобных задач на LeetCode и доведении их до конца, чтобы решение проходило все тесты. Обязательно набить руку на easy (аккуратность), желательно попробовать medium (комбинация простых алгоритмов/структур данных), hard смотреть необязательно (хардкорные алгоритмы).
Освежите в памяти курс алгоритмов и структур данных. Вспомните основные структуры данных, их сильные и слабые стороны, особенности, базовые алгоритмы типа сортировок и обходов графов. Не нужно ботать доказательство корректности, достаточно понимать, как они работают.
Потренируйтесь в придумывании тестов для собственного кода, попробуйте самостоятельно придумывать краевые случаи, для которых может потребоваться реализация отдельной логики.
Потренируйтесь находить баги в своем коде без компиляции/исполнения.
Потренируйтесь в решении подобных задач на LeetCode и доведении их до конца, чтобы решение проходило все тесты. Обязательно набить руку на easy (аккуратность), желательно попробовать medium (комбинация простых алгоритмов/структур данных), hard смотреть необязательно (хардкорные алгоритмы).
Освежите в памяти курс алгоритмов и структур данных. Вспомните основные структуры данных, их сильные и слабые стороны, особенности, базовые алгоритмы типа сортировок и обходов графов. Не нужно ботать доказательство корректности, достаточно понимать, как они работают.
Потренируйтесь в придумывании тестов для собственного кода, попробуйте самостоятельно придумывать краевые случаи, для которых может потребоваться реализация отдельной логики.
Потренируйтесь находить баги в своём коде без компиляции/исполнения.
Во время решения задач на секциях
Проговаривайте свои мысли вслух — это поможет вам не запутаться в собственных мыслях и даст возможность интервьюеру следить за ходом ваших размышлений и дать верную подсказку, если она потребуется.
Не забывайте проверять код на наличие ошибок перед тем, как сдать его интервьюеру.
Не бойтесь спрашивать непонятные для вас моменты и коммуницировать с интервьюером.
Проговаривайте свои мысли вслух — это поможет вам не запутаться в собственных мыслях и даст возможность интервьюеру следить за ходом ваших размышлений и дать верную подсказку, если она потребуется.
Не забывайте проверять код на наличие ошибок перед тем, как сдать его интервьюеру.
Не бойтесь спрашивать непонятные для вас моменты и коммуницировать с интервьюером.
Среднее время прохождения всех этапов — 1–2 недели. Но если вы ограничены по срокам или хотите больше времени на подготовку — предупредите, пожалуйста, рекрутера, мы очень постараемся подстроиться.