Спецподгон: завдання від компанії «Яндекс»
Найгостріша потреба в розробників C ++. При цьому все частіше з'являються вакансії, пов'язані з машинним навчанням, big data, розпізнаванням зображень і голосу, розподіленими обчисленнями. Далеко не завжди досвід роботи з цими технологіями потрібно обов'язково. Є команди розробників, які займаються дослідницькими завданнями.
Вакансії відкриті в Пошуку, браузері, Картах, Диску, Маркеті. І в кожній з команд - своя специфіка. Так, у Пошуку та Картах більше затребуване знання алгоритмів, причому в Пошуку ухил в бік теорії ймовірностей і математичної статистики, а в Картах - на графи. У браузері більше складних інженерних завдань, тому потрібні в першу чергу технічні знання і в меншій мірі - алгоритми.
Розробники Яндекса підготували читачам] [завдання, які можуть зустрітися на співбесіді в компанії.
Кого в Яндексі чекають найбільше?
- Розробник пошуку С ++
- Розробник Яндекс.Діск (С ++ для Windows)
- Розробник якості пошуку Яндекс.Зображень (С ++)
- Розробник C ++ систем розпізнавання мови (мобільні платформи)
- Розробник С ++ (комп'ютерне зір)
- Розробник розподіленої системи зберігання і обробки даних С ++
Як проходить співбесіду
Ольга Пономарьова, старший рекрутер групи підбору розробників, Яндекс
Якщо ви успішно справілсьі з тестовими завданнями на company.yandex.ru, ми запропонуємо зателефонувати по скайпу. По суті, це буде перше знайомство, де ми трохи поговоримо про вибрана мова програмування і запропонуємо пару математичних або алгоритмічних задач. Для першої розмови іноді достатньо 10-15 хвилин, і вже точно не більше години.
Ми один одному сподобалися? Відмінно, тоді запрошуємо в гості: у Яндекса є десять офісів розробки в різних містах, разом виберемо відповідний. Зазвичай на співбесіду приходять кілька розробників з різних команд: комусь ви можете сподобатися більше, і тоді він буде за вас битися. Правда, не відразу. Перед цим потрібно написати код для вирішення запропонованих завдань. Чим швидше напишеш - тим швидше можна піти додому :). Ще на зустрічі бувають завдання на кмітливість. В першу чергу нам цікавий хід ваших думок, не обов'язково вирішити все. Якщо кандидат претендує на позицію senior-розробника, поговоримо про архітектуру систем.
Іноді для того, щоб зрозуміти, «наша» людина чи ні, потрібно кілька зустрічей. Однак якщо вам потрібно терміново визначитися з місцем роботи - скажіть нам про це, що-небудь придумаємо.
Запитує Андрій Плахов, керівник служби функціональності пошуку в Яндексі:
Дана функція на мові Python. Чи завершиться коли-небудь виклик dio ()? Чому?
Що робить ця програма на мові С ++?
Запитує Кирило Сюзев, керівник групи розробки Яндекс.Зображень
Є вихідний код програми:
Що друкується на екрані і чому? Як зміниться висновок, якщо замінити cout на cerr?
У програмуванні є поняття LRU-кеша.
Якщо коротко: будь-який кеш містить елементи, до яких ми хочемо звертатися, але розмір кеша обмежений. Тому треба приймати рішення, які елементи в кеші ми зберігаємо, які ні.
LRU-кеш таким чином вибирає: якщо місця під елементи більше немає, він викидає елемент, до якого найдовше не зверталися, і замість нього кладе новий.
Завдання - написати такий кеш у вигляді С ++ класу / класів.
Ми чекаємо ваших задачок!
А ще ми чекаємо ваших рішень!
Завдання самі собою не вирішаться! Йшли нам свої відповіді, а айтішной компанії даруватимуть тобі безкоштовні айфони.