Команды разработки 
на С++, Python

Команда технологий верхнего уровня

Создаём и развиваем софт для роботов для складской логистики. Решаем задачи автономной инвентаризации и перевозки товаров внутри складов Маркета. Разрабатываем полный стек технологий для роботов: от навигации и локализации до управления флотом роботов.
Ключевые задачи
Локализация или позиционирование роботов внутри складов с использованием искусственных меток и данных с лидаров и камер
Навигация роботов в помещении, которая состоит из планирования оптимального пути, следования ему, а также детектирования и объезда препятствий
Управление флотом роботов, в том числе взаимодействие с системами управления складом
Стек технологий для разработчика в команду роботов
Python/C++
ROS/ROS2
Rviz
Robot navigation algorithms
Robot localization algorithms
Python/C++
ROS/ROS2
Robot navigation algorithms
Robot localization algorithms
Rviz

Как мы будем общаться

  • Специализированный код
    (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 недели. Но если вы ограничены по срокам или хотите больше времени на подготовку — предупредите, пожалуйста, рекрутера, мы очень постараемся подстроиться.

Материалы для подготовки к интервью

  • Общее описание процесса интервью
  • Как проходят алгоритмические секции на собеседованиях в Яндекс (Хабр)
  • Как решать алгоритмические секции: помощь разработчикам, собеседующимся в Яндекс. Часть 1 (YouTube)
  • Как решать алгоритмические секции: помощь разработчикам, собеседующимся в Яндекс. Часть 2 (YouTube)
  • Подборка алгоритмов от яндексоидов на GitHub
  • Оценка сложности алгоритма с точки зрения О-нотации (Хабр)
  • Подборка категорий задач
  • Как проходят архитектурные секции собеседования в Яндексе: практика дизайна распределённых систем (Хабр)
  • Яндекс Контест
  • LeetCode
  • HackerRank Cracking the Coding Interview Tutorial Series
  • Книга Cracking the Coding Interview, Gayle Laakmann McDowell
  • Книга Introduction to Algorithms, Thomas H. Cormen
Хочешь у нас работать? Присоединяйся к команде
Tue Oct 29 2024 14:30:46 GMT+0300 (Moscow Standard Time)