Структура собеседования по Алгоритмам. Этап 2-3. Задача.
После знакомства тебе дадут задачу.
• Внимательно слушай интервьюера. Внимательно читай текст задачи.
• Если ты видел эту задачу до этого, можешь об этом уведомить интервьюера. Он все равно узнает. Честность это плюс. К примеру, “I have seen this problem before, not exactly this one, but similar one.”
• Ожидается что ты будешь проговаривать вслух все свои размышления. (Thinking out loud - это пипец как важно!!!)
• Пиши все свои мысли и идеи в редактор кода, чтобы интервьюер понимал что ты имеешь ввиду.
• Не прыгай сразу решать задачу.
• Спроси уточняющие вопросы, определи объем работы, подумай об edge cases (к примеру, что если данные какого нибудь другого вида или отсутствуют или их очень много). Узнай надо ли учитывать случаи X и Y или это нам не интересно. Общайся с интервьюером, он твой друг.
• Проговори вслух все что понял от начала и до конца. Согласуй с интервьюером.
• Разбери каждый данный пример по задаче. Придумай свои примеры, разбери их с интервьюером. На это должно уйти 5-7 минут. (осталось 35 мин)
• Когда тебе кажется что все понял можешь начать решать задачу. Подробнее тут https://t.me/hiremegoogle/65
• Попытайся найти не оптимальное решение (brute-force solution). Обсуди свое решение с интервьюером на живом примере, пока на словах (Conceptual overview)
• Скорее всего он попросит оптимизировать твое решение. Попытайся придумать оптимальное решение. Подробнее тут https://t.me/hiremegoogle/74
• Обсуди свое решение с интервьюером на живом примере, пока на словах
• Если ему все нравиться можешь начать кодить.
• На каждом этапе спрашивай “Does it sounds good to you?”, “Is this what we are looking for?”, чтобы быть уверенным что вы на одной волне.
• После того как ты написал код, прогони свои тест кейсы над кодом и попытайся найти баги.
• Попытайся максимально быстро найти и исправить баги.
• Опиши TIme and Space complexity.
• Если ты сильно тупишь и не знаешь как двигаться дальше, не стесняйся спрашивать помощи у интервьюера. К примеру, “I am not sure which data structure could be best fit in this case. Is LinkedList good option here?”. Но конечно не злобоупотребляй этим, делай это редко, но метко.
• Получить 1-2 подсказки за время интервью это нормально.
• Интервьюере может спросить дополнительные вопросы. Это зависит на какую должность ты подаёшься. Чем выше должность тем больше и сложнее будут вопросы. К примеру, “How you will change your algorithm if it was running on multiple machines?“.
• На решение должно уйти 10-15 минут и того 15-20 минут на все. Таких задач будет 2 во время интервью, в конец у тебя останется около 5 минут времени на вопросы к интервьюеру.
• На этом все.
• Лекцния о том как решать задачу https://www.youtube.com/watch?v=wCl9kvQGHPI
• Лекция с примером решения задачи https://www.youtube.com/watch?v=4UWDyJq8jZg
• Пример того как проходит настоящее интервью https://www.youtube.com/watch?v=XKu_SEDAykw
• Еще один пример того как проходит интервью https://www.youtube.com/watch?v=EuPSibuIKIg
Пишите в комментарии если я что то забыл или есть вопросы.
#interviewtip #algo
Post #88
2.22K