Skip to main content

Command Palette

Search for a command to run...

Собеседование с Amazon

Published
2 min read
Собеседование с Amazon

Lavhani o’zbek tilida o’qish.

В Январе 2020 года я прошёл собеседование с Amazon на позицию iOS разработчика.

Контакт с рекрутером.

В Ноябре 2019 года я получил сообщение в LinkedIn от рекрутера: “Ты крутой… мы крутые… Идём работать в Audible…”.

Audible — сервис аудиокниг, дочерняя компания Amazon.

Сообщение от рекрутера.

Поговорив с рекрутером, мы назначили дату собеседования.

Подготовка к собеседованию

Я решил изучить темы, которые плохо знал: BFS, обход лабиринтов, структуры данных.

BFS (Breadth First Search) — алгоритм обхода графа в ширину.

Для этого я посмотрел видео уроки на YouTube по решению задач связанных с BFS и лабиринтами, а затем практиковал знания на LeetCode.

Самым понятным оказалось это видео:

Видео урок по решению задачи обхода лабиринта.

Также я прочел статьи на Interview Cake про основные структуры данных:

  • Статичный и динамичный массивы;
  • Связный список;
  • Хэш таблица;
  • Стек;
  • Граф;
  • Бинарное дерево.

День собеседования.

Телефонное интервью.

Интервью прошло по телефону (phone interview) и длилось один час.

Phone interview/screening — первый этап устройства на работу. Технический специалист и кандидат общаются по телефону. При этом оба работают на общем документе схожим с блокнотом: LeetCode, Google Docs, CoderPad. В этих инструментах нет фич современных IDE: автозаполнение, подсветка синтаксиса, подсказка ошибок.

Устные вопросы.

  • Вы знаете Swift, Objective–C? Подсказка: это нормально не знать один из этих языков.
  • Как работает управление памятью на Swift? Подсказка: ARC.
  • Как работает многопоточность на Swift? Какие технологии существуют? Подсказка: GCD, NSOperationQueue.

Письменный вопрос.

  • Напишите класс NotificationCenter в iOS с нуля. Подсказка: паттерн Наблюдатель (Observer).

Диаграмма паттерна Наблюдатель (Observer). “Head First Design Patterns”, Э. Фримен, Э. Робсон и другие.

Эта часть прошла на платформе Amazon — livecode, схожую на LeetCode. Во время интервью я чувствовал, что пишу код в блокноте, но с подсветкой синтаксиса.

Во время написания кода, я и мой собеседник задавали друг другу вопросы:

  • Какие функции должны быть в классе?
  • Как регистрировать подписчиков? В какой структуре хранить их список?
  • Как сделать код читабельней?

Amazon livecode — платформа для проведения интервью.

Что дальше?

Результат собеседования пришёл на следующий день — отказ. После отказа, я запросил отзыв у рекрутера и с тех пор тишина…

Сейчас продолжаю подготовку: спрашиваю советы у техлида на работе, обучаюсь через LeetCode, Interview Cake, YouTube. Дай бог, в дальнейшем подам на работу в Microsoft и Google.

Техлид — технический глава команды разработчиков. Обычно он/она самый сильный инженер в определённой технологии: iOS, Android, Backend и т.д.

Конец.

Новые посты публикуются на канале @TenxEngineer.

О чем написать следующий пост?
Пишите вопросы и предложения @darhonbek!