В июле этого года я решил попробовать попасть на стажировку в Яндексе - я не очень верил, что у меня это получится, но было желание хотя бы попробовать, чтобы оценить свои силы.
Первый этап
Первый этап был что ни на есть простым: переходишь по ссылке, решаешь задачи. Задачи алгоритмические, всего 5 штук, время на каждую задачу в отдельности не ограничено, но суммарное время на выполнение всех задач - 6 часов.
Никто не ограничивает тебя пользованием гугла, поэтому можно и гуглить полную формулировку задач, но решения в основном нет в интернете. Я нашел лишь идею для алгоритма одной из задач, не сказать что мне это сильно помогло, я примерно так себе это и представлял.
По итогу я решил все 5 задач, закончил тест и стал ждать какого-то фидбека, который должен был прийти в течение двух недель.
Второй этап
На мое удивление меня пригласили на видеоинтервью, так как им понравилось, как я справился с задачками, и вот тут я по-настоящему испугался. Я понял, что мне, получается, нужно будет так сказать "в прямом эфире" решать задачи посложнее, а за мной в это время будет наблюдать программист из Яндекса.
Я просто представлял то, как я буду сидеть и решать вот это все, тупить над какими-то элементарными действиями, а он будет все это видеть. Согласитесь, это стремно. У каждого было такое на Хекслете хоть раз: не понимаете в чем ошибка, а в итоге выяснилось, что вы в каком-то месте завтыкали и случайно не ту переменную написали (ну или что-то в этом роде) :)
Я сначала хотел люто подготовиться, погуглить всякие задачи с собедеседований в Яндексе, но что-то пошло не так и я совсем забил на это. В итоге настал тот самый день видеоинтервью, а я по сути не имел никакой специальной подготовки к нему, хотя я читал, что некоторые люди готовятся к этому месяцами! О_О
Я неоднократно повторял своей сестре, которая была в курсе этого, что меня унизят и я буду очень расстроен в ближайшие день, но все оказалось иначе: я был вне себя от радости от того, как я справился с заданиями на видеоинтервью!
Само видеоинтервью было устроено следующим образом: рассказываешь о себе, сколько лет, где работал, что умеешь, в каких проектах участвовал, а дальше задачки.
Стоит отметить, что там были совсем не такого рода задачки, которые я ожидал. Там было что-то попроще, много вопросов, касающихся самой работы JS, какие-то задачки на логику, верстку. Не буду называть конкретно, не хочу чтобы это в сеть попало. Все это нужно было писать в специальном редакторе от Яндекса, считай как обычный блокнот, никакого выпадающего списка с правильными названиями функций и прочего, что может быть в том же VS Code. Как я узнал позже, сложные задачки могут быть уже на техническом интервью.
Третий этап
А вот тут уже могло бы быть техническое интервью, но меня на него не позвали :) Сказали, что пока что мало практического опыта работы с JS (я еще не работал программистом). Честно говоря, так как я хорошо поотвечал на видеоинтервью, я даже немного расстроился, ха. Но я понимал, что это совершенно справедливое решение, я еще недостаточно "силен".
Выводы
1. Решайте олимпиадные задачки
Собственно одна из причин, по которым я оказался на Хекслете. Тут очень много таких задач в разделе "испытания". Они помогают научиться думать, рассуждать - это самое главное для программиста, так как именно таким образом надо приходить к решению какой-либо задачи, того же тестового задания.
2. Пишите код на листочке
Теперь передо мной на столе всегда листочек, на котором я нередко что-то да пишу, обычно это набросок к решению задачи какого-либо урока. Это очень сильно помогает, лучше запоминаешь синтаксис, да и вообще что где должно располагаться, не путаешь в коде, как это бывает за ПК, так как все "с чистого листа" :) Кстати, совсем забыл отметить - на техническом интервью все вот эти хардовые задачки решаются именно на листочке.
3. Улубляйтесь в основы
Было очень много вопросов о замыканиях, лексическом окружении, контексте вызова и т.д. Мне повезло, что я осознал как это работает, но суть в том, что я повторял это раз 5, чтобы разобраться. Иногда думается: "да зачем вообще это знать? Если будет нужно - я просто загуглю и сделаю по аналогии", но на самом деле очень нужно понимать, как все это устроено.
4. Верьте в себя
Я не ожидал, что пройду даже первый этап, а в итоге замахнулся на третий. Я понял, что я не так глуп, как мне иногда кажется, а в Яндексе работают не только сверхумы, но и просто умы. Так что есть к чему стремиться! :)