Сегодня утром у меня было назначено собеседование в «Яндексе». Я давно искал возможность начать работать по специальности (программист). Стажировка в Яндексе показалась мне оень хорошей возможностью для начала трудового пути.
Я пришел на пару минут раньше, немного подождал, ко мне спустился один из сотрудников, проводил в комнату для собеседований и оставил, предложив решить задачу.
Вообще, как мне объяснил позже человек, проводящий интервью, он задает 3 типа задач:
С первым типом я справился относительно неплохо: решил одну задачу, а по второй привел все мысли какие были.
А вот на втором — сразу «поплыл». И до третьего типа мы уже и не дошли.
Обстановка была вполне дружелюбная. И, несмотря на то, что я не знал базовые вещи, я получил ответы на все интересующие меня вопросы, уже после того, как мне сказали «раз этого не знаешь — надо завершать».
Позиция принимающего понятна, где пробелы в знаниях — теперь тоже, спешу поделиться мыслями.
Задачи на сообразительность.
1000 бутылок вина, 1 отравлена, 10 кроликов.
Можно взять немного вина из бутылки.
От яда кролик умирает в через 1 день.
Сколько минимально дней потребуется чтобы определить бутылку с ядом?
(эту я решил)
Массив из n =2k+2 элементов, 2 элемента не имеют пары, остальные парные.
Найти эти 2 элемента, при условии, что алгоритм должен работать за O(n) времени и использовать O(1) дополнительной памяти.
(эту пока нет, позже ещё подумаю)
Задача на алгоритмы.
1. Какие виды сортировок знаете, опишите время их выполнения (в зависимости от n), а так же расходы по памяти (от n) и какая сортировка когда лучше.
Если названия я помнил, то время почему-то решил не считать, а угадать. А угадывать в программировании — плохо. Вот и не угадал.
Но, утешаю себя мыслью, что если про сортировки я еще кое что случайно прочитал на днях, то дальше по алгоритмам меня спрашивать было довольно таки бесполезно.
Советы тем кто собрался на собеседование.
1. Поищите и порешайте задачки на сообразительность и, в частности, задачи на собеседовании в «Яндекс».
Мне попались незнакомые задачи, но, все равно, мне помогло то, что порешал задачи похожего типажа до собеседования.
2. Обязательно прочтите поймите и выучите всё про сортировки, например, отсюда:
Плюс мне порекомендовали книжки Кнута. Это вещь объемная, непростая, но мне её много раз советовали и, похоже, пришло время ей заняться. Тем кто собирается на собеседование, я тоже очень рекомендую ознакомиться.
3. И да, C++ надо знать. Меня не спрашивали по языку, так как все закончилось немного раньше.
Что советую знать:
Резюмируя то, что выше:
Понравилось:
Как и везде есть и минусы, но здесь они, скорее, касаются того чтобыло до собеседования.
Не понравилась работа кадровой службы, возможно у них завал заявок, но всё же.
Получил тестовое задание, оно похоже уже лет 5 не менялось, т к знакомые говорили, что у них было то же самое.
После дедлайна подождал неделю, мне никто не ответил, написал сам, ответили, спросили готов ли тратить 32 часа в неделю.
Ответил, что мне будет трудно и опять тишина.
Я ещё написал. Только тогда пришло приглашение.
Может это, конечно проверка в заинтересованности, но раз уж я сделал тестовое задание, то я уже заинтересован.
Может стресс тест. Ждут письма от неуравновешенных товаришей с воплями и проклятьями.
Может правда заняты. А может просто лень человеческая.
P. s. Интересно, важно ли, какое место кандидат займет за круглым столом? Разумеется, если он правильно на задачи отвечает.
Я пришел на пару минут раньше, немного подождал, ко мне спустился один из сотрудников, проводил в комнату для собеседований и оставил, предложив решить задачу.
Вообще, как мне объяснил позже человек, проводящий интервью, он задает 3 типа задач:
- На сообразительность
- На алгоритмы
- На знание C++
С первым типом я справился относительно неплохо: решил одну задачу, а по второй привел все мысли какие были.
А вот на втором — сразу «поплыл». И до третьего типа мы уже и не дошли.
Обстановка была вполне дружелюбная. И, несмотря на то, что я не знал базовые вещи, я получил ответы на все интересующие меня вопросы, уже после того, как мне сказали «раз этого не знаешь — надо завершать».
Позиция принимающего понятна, где пробелы в знаниях — теперь тоже, спешу поделиться мыслями.
Задачи на сообразительность.
1000 бутылок вина, 1 отравлена, 10 кроликов.
Можно взять немного вина из бутылки.
От яда кролик умирает в через 1 день.
Сколько минимально дней потребуется чтобы определить бутылку с ядом?
(эту я решил)
Массив из n =2k+2 элементов, 2 элемента не имеют пары, остальные парные.
Найти эти 2 элемента, при условии, что алгоритм должен работать за O(n) времени и использовать O(1) дополнительной памяти.
(эту пока нет, позже ещё подумаю)
Задача на алгоритмы.
1. Какие виды сортировок знаете, опишите время их выполнения (в зависимости от n), а так же расходы по памяти (от n) и какая сортировка когда лучше.
Если названия я помнил, то время почему-то решил не считать, а угадать. А угадывать в программировании — плохо. Вот и не угадал.
Но, утешаю себя мыслью, что если про сортировки я еще кое что случайно прочитал на днях, то дальше по алгоритмам меня спрашивать было довольно таки бесполезно.
Советы тем кто собрался на собеседование.
1. Поищите и порешайте задачки на сообразительность и, в частности, задачи на собеседовании в «Яндекс».
Мне попались незнакомые задачи, но, все равно, мне помогло то, что порешал задачи похожего типажа до собеседования.
2. Обязательно прочтите поймите и выучите всё про сортировки, например, отсюда:
Плюс мне порекомендовали книжки Кнута. Это вещь объемная, непростая, но мне её много раз советовали и, похоже, пришло время ей заняться. Тем кто собирается на собеседование, я тоже очень рекомендую ознакомиться.
3. И да, C++ надо знать. Меня не спрашивали по языку, так как все закончилось немного раньше.
Что советую знать:
- ООП, как описать, привести пример с наследованием
- конструкторы
- перегрузка операций и функций
- шаблоны
- STL
- описание структур данных (графы, деревья, списки)
Резюмируя то, что выше:
Понравилось:
- На собеседовании было интересно
- Внутри здания все понравилось
- Люди, которых успел увидеть по дороге, очень понравились
- Очень хорошо, что сразу сообщили, что мне пока не сюда, в отличие от некоторых компаний, где просят подождать, а потом присылают «вежливый отказ» или «исключительно вежливый отказ»
- Хочу доучить алгоритмическую часть, придти еще и доказать себе что я это могу
Как и везде есть и минусы, но здесь они, скорее, касаются того чтобыло до собеседования.
Не понравилась работа кадровой службы, возможно у них завал заявок, но всё же.
Получил тестовое задание, оно похоже уже лет 5 не менялось, т к знакомые говорили, что у них было то же самое.
После дедлайна подождал неделю, мне никто не ответил, написал сам, ответили, спросили готов ли тратить 32 часа в неделю.
Ответил, что мне будет трудно и опять тишина.
Я ещё написал. Только тогда пришло приглашение.
Может это, конечно проверка в заинтересованности, но раз уж я сделал тестовое задание, то я уже заинтересован.
Может стресс тест. Ждут письма от неуравновешенных товаришей с воплями и проклятьями.
Может правда заняты. А может просто лень человеческая.
P. s. Интересно, важно ли, какое место кандидат займет за круглым столом? Разумеется, если он правильно на задачи отвечает.