Андрій Мінкін як я проходив співбесіду в яндекс і які уроки я витягнув
Як все починалося
Все почалося з того, що я вирішив не багато урізноманітнити свої будні тим, щоб по проходити всякі різні інтерв'ю.
За порадою пари людей влаштував собі співбесіди вечорами з різними компаніями.
Мій вибір припав на країни СНД, тому як мій усний англійський, як я вважаю не дуже хороший для того, щоб проходити інтерв'ю у західних роботодавців.
Вирішив влаштувати максимум 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. Четверте інтерв'ю. практичне адмінство
У цій частині. Було багато розборок з лінуксом.
- Як дізнатися поточних залогіненним користувачів;
- Чому їх не показує;
- Вбити всі процеси, за певним паттерну, без pkill -f;
- З'ясувати, з якою директорії був запущений скрипт;
- Як працює пам'ять в Linux;
- Модель OSI;
В кінцевому підсумку були зроблені наступні висновки:
- Мені потрібно підтягувати алгоритми і деякі академічні моменти;
- У будь-який більш-менш великій компанії (Яндекс, Дропбокс, Убер і тд) потрібні знання алгоритмів;
- Диплом потрібен найчастіше тільки для релокейта і отримання деяких ніштяк, які не отримують люди без диплома;
- Всі компанії цінують більше практичний досвід з хорошим рівнем теорії.
У завданнях на алгоритми і структури даних, які були обмеження по часу і пам'яті?
На співбесідах хочуть побачити найбільш ефективне рішення і твої міркування про complexity обраного алгоритму. Див. Big-Oh notation. Якщо рішення можна оптимізувати або по продуктивності або по space efficiency (тобто тільки щось одне), потрібно уточнити у проводить співбесіду, що краще. Тобто 1) найбільш ефективне і 2) постав питання проводить співбесіду, щоб з'ясувати більше деталей - секрет успіху.
У quore десь мигцем бачив, що хтось створив чи туторіал, чи то ще щось, по-простому ГДЗ на всякі інтерв'ю.
Андрій, ви уродженець міста Ош?
5 місяців тому
6 місяців тому
6 місяців тому
6 місяців тому
8 місяців тому


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

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