Сможете ли вы пройти собеседование в Microsoft всего за 2 месяца? Да, это возможно при правильном планировании и дисциплине. Собственно, это относится к любой подготовке к интервью. Я это сделал!!
Жизнь до Microsoft
Я не IITian, но мои мечты не меньше. Я получил инженерное образование в области информационных технологий в Университете Пуны, и, как каждому ребенку 90-х, мне предложили устроиться на работу, чтобы покрыть мои расходы и быть довольным этим. Но я не был. Я знал, что хочу добиться Большого, и работа в одном из FAANG была моей мечтой. Таким образом, я начал планировать свой Большой Переключатель сразу после того, как закончил свой первый год профессионального опыта.
Но меньше я знал, что одних навыков кодирования недостаточно, чтобы получить работу мечты с шестизначной зарплатой.
Итак, вы можете спросить, что еще требуется?
Обладая отличными навыками кодирования, вам также необходимо иметь:
- Отличное знание структуры данных
- Знание большинства алгоритмов
- Навыки проектирования на системном уровне
Предстояло многому научиться, и я заметил, что другие готовились в течение многих месяцев, чтобы просто попасть на первый этап собеседования. Еще я заметил, что люди уходили посреди подготовки из-за такого лихорадочного и длительного процесса.
Было совершенно ясно, что мне нужен четкий план, который можно быстро выполнить.
Мой план
- Изучите структуры данных
- Практические проблемы
- Читать об алгоритмах
- Читать Проектирование системы
- Начать подачу заявки
- Повторить
В Интернете доступно много материалов по каждой из вышеперечисленных тем, но это может оказаться недостатком, поскольку может привести к пустой трате времени, а не к помощи. Таким образом, я решил придерживаться только нескольких ресурсов:
- «Взлом книги интервью по кодированию» для структур данных и проблем
- «GeeksForGeeks» для решения задач
- «Видео на YouTube» для проектирования системы
- Наставник для пробных интервью, чтобы дать честный и жестокий отзыв.
Выбор языка программирования также важен, поэтому я выбрал C++, хотя не использовал его в своей профессиональной жизни. Мне было очень комфортно с ним.
Еще одна важная вещь, которую я заметил, заключалась в том, что вопросы интервью были не очень прямыми, особенно в случае алгоритмов. Так что алгоритмы были чем-то, к чему я решил относиться снисходительно.
Я связался со старым другом, работавшим в Microsoft, и попросил его стать моим наставником. Он убедился после 30 минут мольбы. Его основные действия заключались в том, чтобы держать меня в курсе и периодически брать пробные интервью.
Верьте мне или нет, но это был один очень важный шаг, который я сделал в своей жизни. Наличие наставника стало для меня благом, и я думаю, что это послужило катализатором всей моей тяжелой работы, чтобы осуществить мой большой переход.
Детальный план
Затем последовал более подробный и четкий план, также поэтапный;
ЭТАП 1 (первые 30 дней)
- Прочтите структуры данных из книги Cracking the Coding Interview (CTCI) и решите ее основные вопросы.
- Попрактикуйтесь в вопросах из книги CTCI, но уделяйте каждому вопросу всего 30 минут. Если вопрос был каверзным, я записывал шаги на бумаге и приклеивал на стену, чтобы видеть каждый день.
- Читайте алгоритмы от GeeksforGeeks. Я читаю только основные алгоритмы, такие как сортировка, поиск, кучи max-min, DFS и BFS.
- Системные проекты были получены из YouTube. Я смотрел видео почти по каждому вопросу проектирования системы. Я просматривал по одному видео о проектировании системы в день и вскоре начал распознавать закономерность.
Через месяц я подал заявку в Amazon, Google и Microsoft через соответствующие страницы вакансий. Затем начался второй этап моей подготовки независимо от ответа. Мой мыслительный процесс был таким: «В любом случае я узнаю что-то, что будет использоваться либо сейчас, либо позже». Через несколько дней я получил ответ от Microsoft.
ЭТАП 2 (следующие 30 дней)
- Структуры данных из книги, а также GeeksforGeeks
- Вопросы о компании от GeeksforGeeks
- Биндж просмотрел все ранее просмотренные видеоролики о проектировании системы за 2 дня.
- Пробное интервью с моим наставником два раза в неделю.
Мне повезло, так как мне никогда не приходилось платить за какой-либо курс, платформу или моего наставника. Но я думаю, что стоит заплатить за платформы, которые предоставляют вопросы для интервью или наставников, если вы недостаточно уверены в своей подготовке.
Интервью
Мое собеседование состояло из 4 раундов, включая онлайн-тест, телефонное интервью и 2 очных интервью.
Онлайн-тест представлял собой комбинацию вопросов с несколькими вариантами ответов и двух несложных вопросов по кодированию.
Телефонное интервью представляло собой продолжительный часовой разговор, в ходе которого вопросы в основном касались технологий .net, компиляторов и облачных вычислений. Был 1 вопрос сортировки, который можно было легко решить с помощью «сортировки ведром».
Первое онсайт-интервью началось с базовых структур данных, затем только системный дизайн моего текущего проекта (честно говоря, я не был к этому готов, но все же смог объяснить проект кибербезопасности, который я строил в то время). вопрос о разработке игры в шахматы и основных классах с задействованными функциями. В целом, это был очень суматошный раунд интервью, который длился более часа. Я думаю, что мои пробные интервью сделали меня достаточно сильным, чтобы выстоять в этом раунде.
Последний раунд был больше похож на культуру, когда очень старший менеджер спросил меня о моем опыте и роли в различных проектах, а также о моих стремлениях.
Вещи, которые творили чудеса в моей подготовке
Не тратить долгие часы на решение одного вопроса. В самом начале я понял, что мне нужно быстро переходить от одного вопроса к другому. В самом начале мне удалось решить самостоятельно только 40% вопросов. Но я очень хорошо понимал вопросы, вместо того, чтобы просто ломать голову над решениями.
Прямых вопросов никогда не будет, поэтому сосредоточьтесь на понимании решений. Кроме того, я не тратил время на изучение очень сложных алгоритмов, таких как граф кратчайшего пути и т. д. Это сэкономило много времени и нервов. Я воспользовался этим шансом, и это сработало для меня.
В мире много компаний. Сосредоточьтесь на подготовке, а затем подавайте заявки в как можно больше компаний, не думая о результате.
Найти подходящего наставника и пройти достаточное количество пробных собеседований поможет вам не сбиться с пути. Честная обратная связь от наставника помогла мне улучшить 10x, что было бы невозможно без него.
Это была моя история того большого шага в моей жизни. Я знаю, что в Интернете уже есть много материалов по взлому интервью, так что составьте свой план сегодня, и если вам нужен наставник, то свяжитесь со мной на моем linkedIn.
Вы также можете использовать платформы, которые могут связать вас с существующими сотрудниками FAANG. Я рад познакомить вас с изменяющей жизнь платформой под названием «TheThrivingCareer».
https://thethrivingcareer.com/
Эта платформа предоставляет надлежащую дорожную карту для прохождения сложных технических интервью, таких как FAANG (то есть MAANG), и позволяет связаться с отраслевыми экспертами, чтобы развеять ваши сомнения и провести пробные интервью. На платформе есть список замечательных наставников на выбор.
Статью о том, как подготовиться к собеседованию по системному дизайну, вы можете найти здесь.
Удачи!!