Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув

Як все починалося

Все почалося з того, що я вирішив не багато урізноманітнити свої будні тим, щоб по проходити всякі різні інтерв'ю.

За порадою пари людей влаштував собі співбесіди вечорами з різними компаніями.

Мій вибір припав на країни СНД, тому як мій усний англійський, як я вважаю не дуже хороший для того, щоб проходити інтерв'ю у західних роботодавців.

Вирішив влаштувати максимум 4-5 співбесід в тиждень і 1-2 тестових завдання.

Всі співбесіди були по скайпу, я отримав пару Джоб офферов в Москву, і відмовився від них по ряду причин. Перша причина - фінансова. Так як Київ сама по собі дороге місто і 120к зараз в Москві - це не 120к до обвалу рубля. Плюс до цього хлопці з проекту meshbird, який ми пиляли на Хакатони GopherGala не радили Сува в РФ, тому як робоча сила зараз там дуже дешева. Навіть дешевше ніж в Індії. Друга причина - не зовсім цікавий проект для мене, в якому було б багато рутини і завдання нижче середнього. Третя причина - хіпстера і не серйозні майбутні колеги.

Як я вирішив податися в Яндекс, і подача самого резюме

Етап 1. ТЗ і HR

Через пару днів після подачі мені написала HR-менеджер і вислала тестове завдання.

Суть ТЗ була в тому, щоб написати консольную утиліту для фільтрації логів в json форматі і щоб видавала логи в різному форматі, який можна змінювати. Новомосковскет з stdin.
Приклад використання:
cat log | json-log --filter filter --template = some_template.d2

ТУЛЗ запив і відправив HR менеджеру.

Етап 2. Інтерв'ю з технічним фахівцем Яндекса

У призначений час в скайп додався людина, ми з ним зідзвонювалися і близько першої години говорили на всякі різні абстрактні теми. Серед тем були:

- Скільки взагалі програмую;
- Якими мовами програмував і в парі слів розповісти які сподобалися, які ні;
- Ставлення до код рев'ю, якості коду і іншим речам;

В цілому досить мило поспілкувалися і домовилися про те, що він передає всі HR-менеджеру, і, цілком можливо, запросять на очне інтерв'ю в Москву.

Етап 3. Договір про очний інтерв'ю

Через кілька днів після скайпу, до мене постукала ще одна працівниця HR-відділу. Вона сказала, що мене хочуть запросити на очне інтерв'ю в Москву. Задала мені три питання:

- Чим би я хотів займатися в Яндексі (інфраструктура, який-небудь проект і так далі);
- Якими мовами я програмую;
- Якими мовами я б хотів програмувати;

Після того, як вона отримала відповіді, вона сказала, що мене хочуть бачити в Москві. Сказала, що в моєму випадку буде 4-5 секцій по годині. Час вибрали з 12 до 17.

Протягом кількох днів були куплені Яндексом квитки на моє ім'я, дані інструкції, про те, як дістатися до їхнього офісу, як дістатися з аеропортів і кого питати на ресепшне.

Етап 4. Виліт

Ці два додатки мої помічники в будь-якому незнайомому мені місті. Маючи їх, ви точно не заблукаєте ніде, де є більш-менш повні карти в OpenStreetMap.

17 числа вранці їду в аеропорт, торчу в ньому 2 години, далі лечу 4 години на літаку, і ось, о 7:55 я вже в Шереметьєво.

Так як я в Москві, то включив в аеропорту москвича, і швидким кроком пішов у напрямку до Аероекспрес.

Купив квиток за 470 рублів, сів на найближчий потяг і приїхав на Белоукраінскій вокзал через 45 хвилин шляху.

Добра касирка дала мені буклетик з розкладом потягів, в якому всі рейси, в усі аеропорти з точним часом прибуття та відправлення.

Після вокзалу знайшов метро, ​​купив два проїзду в метро, ​​доїхав на ньому до станції «Парк Культури» і пішов шукати офіс.

І ось я добрався.

Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув

Прийшов на ресепшн і мене незабаром проводили до місця співбесіди.

Етап 5. Перше інтерв'ю. Алгоритми і структури даних

Цікава секція, вів її розробник Яндекс пошти.

Було три завдання

1. Є стек. У нього є чотири методи

  • push - кладе дані в стек
  • pop - видаляє елемент з стека
  • top - возврашает верхній елемент стека
  • empty - перевірка на порожній стек

Потрібно його впорядкувати

2. Є два однозв''язних масиву, у яких є загальна частина. Потрібно з'ясувати індекси масивів, з яких починається загальна частина.
Приклади масивів:

- a b c x y z
- d e a d b e e f x y z

3. Є функція rand2 яка повертає 0 і 1 з однаковою ймовірністю. Потрібно написати функцію rand3, яка з однаковою ймовірністю повертає 0 1 і 2.

Етап 6. Друге інтерв'ю. архітектури

У цій секції ми поговорили про проектування архітектури і спроектували чат, який повинен вміти масштабироваться. Чому чат? Тому що це останнім часом модно. Після того, як закінчили з чатом, була задача на обробку і повторення завдання, якщо вона на якомусь етапі завершилася з помилкою. Як автоматизувати повтор дії на всякі різні фейлов, наприклад недоступна база, не доступно одностороннє АПИ, або друге, або ще який-небудь з компонентів.

Етап 7. Третє інтерв'ю. Програмування на Python

У цій частині потрібно було написати декоратор, який пре серелізует будь-які дані, замінюючи при цьому date на «% Y-% m-.T00: 00: 00», datetime на «% Y-% m-.T% H:% M :% S ». При цьому, повертати повинна наступне

[True, response] - якщо є відкритий файл
[False, response] - якщо немає файлу.

Етап 8. Четверте інтерв'ю. практичне адмінство

У цій частині. Було багато розборок з лінуксом.

  1. Як дізнатися поточних залогіненним користувачів;
  2. Чому їх не показує;
  3. Вбити всі процеси, за певним паттерну, без pkill -f;
  4. З'ясувати, з якою директорії був запущений скрипт;
  5. Як працює пам'ять в Linux;
  6. Модель OSI;

В кінцевому підсумку були зроблені наступні висновки:

  1. Мені потрібно підтягувати алгоритми і деякі академічні моменти;
  2. У будь-який більш-менш великій компанії (Яндекс, Дропбокс, Убер і тд) потрібні знання алгоритмів;
  3. Диплом потрібен найчастіше тільки для релокейта і отримання деяких ніштяк, які не отримують люди без диплома;
  4. Всі компанії цінують більше практичний досвід з хорошим рівнем теорії.

У завданнях на алгоритми і структури даних, які були обмеження по часу і пам'яті?

На співбесідах хочуть побачити найбільш ефективне рішення і твої міркування про complexity обраного алгоритму. Див. Big-Oh notation. Якщо рішення можна оптимізувати або по продуктивності або по space efficiency (тобто тільки щось одне), потрібно уточнити у проводить співбесіду, що краще. Тобто 1) найбільш ефективне і 2) постав питання проводить співбесіду, щоб з'ясувати більше деталей - секрет успіху.

У quore десь мигцем бачив, що хтось створив чи туторіал, чи то ще щось, по-простому ГДЗ на всякі інтерв'ю.

Андрій, ви уродженець міста Ош?

5 місяців тому

6 місяців тому

6 місяців тому

6 місяців тому

8 місяців тому

Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув

Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув

Керівник IT-компанії Attractor Software Вероніка Юрченко про ризики технологічного бізнесу, розвитку сектора і про те, як працюється дівчатам в IT.

Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув

Вітчизняна команда Grimwood Team розробила крутий інді-платформер під назвою World of One, який незабаром з'явиться в Steam.

Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув