Как подготовиться к интервью FAANG

Как подготовиться к интервью FAANG

3 мая 2022 г.

Вы готовы к интервью FAANG? - Даниэль Хабиб


Фотография Кристофера Гауэра на Unsplash


Готовы ли вы к интервью FAANG?


Вот как я узнаю, готов ли один из моих студентов к собеседованию.


Определить, насколько человек подготовлен к собеседованию в крупных технологиях, непросто. Интервьюеры имеют почти полный контроль над тем, какие вопросы они задают, а это означает, что вы можете получить что-то случайное, что никогда не задавали раньше, что делает подготовку невозможной.


Хорошая новость заключается в том, что большинство интервьюеров ведут себя в определенных рамках. Это означает, что вы можете подготовиться и иметь 90% + шанс быть готовым к этому. Итак, хотя ничто не может быть на 100%, я задаю эти конкретные вопросы [сообществу Hackpack] (https://hackpack.io/), чтобы узнать, готовы ли они на 90%+ к своим большим техническим интервью.


Вопросы, которые нужно задать себе


  1. От 1 до 10, насколько вы уверены в различных темах DSA?

  1. Для любого выше 8, пытались ли вы преподавать эту концепцию кому-либо еще? Насколько вы были уверены в своем классе?

  1. Проводили ли вы пробные интервью? Сколько? Вы чувствуете, что нервничаете? Вы отслеживали свои результаты?

  1. Какие темы доставляют вам дополнительные хлопоты?

  1. Есть ли у вас структура того, как вы подходите к интервью?

  1. Проводили ли вы с кем-нибудь пробное поведенческое интервью? От 1 до 10, насколько уверенно вы говорите о своем опыте?

  1. Сколько дней в неделю вы решаете задачу на собеседовании по программированию?

  1. (Средний уровень и выше) От 1 до 10 Насколько вы уверены в проектировании систем?

  1. (Средний уровень и выше) От 1 до 10, Считаете ли вы себя экспертом в языке, на котором вы планируете брать интервью?

  1. Сколько времени у вас есть до собеседования?

Вопросы, которые я НЕ задаю


  1. Сколько проблем с литкодом вы решили?

  1. Сколько языков вы знаете?

Оценка


Когда вы ответите на эти вопросы, станет ясно, где ваши слабые места и на что вы должны потратить свое время, чтобы улучшить свои шансы во время собеседования. Если ваши ответы на все эти вопросы очень положительны, то вы лучше подготовлены, чем подавляющее большинство людей, которые приходят на эти интервью.


Если вы очень уверены в своем прогрессе, я призываю вас учить других, чтобы помочь вам закрепить собственное понимание.


Далее я объясню, почему я задаю каждый из вышеперечисленных вопросов.


Распределение вопросов


От 1 до 10, насколько вы уверены в различных темах DSA?


Заполните электронную таблицу самостоятельно (Структуры данных и алгоритмы) и посмотрите, где вы окажетесь по разным темам.


Оценка собственной уверенности от 1 до 10 следует предсказуемым закономерностям, и в результате это лучший способ измерить чью-то готовность. Цель должна состоять в том, чтобы получить все на 9 или 10.


Краткое описание того, как это обычно происходит


  • Обычно люди начинают с 0 для тем, о которых они никогда не слышали.

  • После прочтения некоторых основных материалов их рейтинг повышается до 4 или 5.

  • После правильного ответа на несколько вопросов в стиле лит-кода они поднимают себя до 7, 8 или 9.

На данный момент у вас есть четкое понимание концепции, вы можете решить некоторые задачи средней сложности и чувствуете себя довольно хорошо. На этом этапе важно бросить себе вызов, чтобы убедиться, что вы действительно понимаете основы темы. Самый быстрый способ сделать это — обучить других этой концепции.


Когда вы можете уверенно учить других, как справляться со сложной проблемой в определенной теме, вы действительно можете поставить себе 9 или 10. В этот момент я бы пометил конкретную тему как «Готово» и перешел к следующая тема.


Для любого выше 8, пробовали ли вы обучать этому понятию кого-либо еще? Насколько вы были уверены в своем классе?


Лучший способ подтвердить, что вы твердо разбираетесь в теме, — это научить кого-то еще, как решать сложную проблему в этой области. Вскоре я напишу еще одну статью, посвященную тому, как эффективно проводить занятия с другими.


После первого урока уровень вашей уверенности немного снизится, потому что вы поймете, что были некоторые мелочи, которые вы не до конца поняли. Это происходит потому, что обучение кого-то другого заставит вас определить все вещи, которые вы обычно пропускали в своей голове.


Во время преподавания в классе вы должны записывать все, в чем вы не уверены, и сразу же решать их после этого. Это дает дополнительное преимущество, помогая вам научиться мыслить вслух и вовлекать других в свои мысли.


Проводили ли вы пробные интервью? Сколько? Вы чувствуете, что нервничаете? Вы отслеживали свои результаты?


Я подытожил свои мысли по [теме здесь] (https://fangprep.substack.com/p/why-mock-coding-interviews-are-important). Подводя итог, очень важно привыкнуть к нервам, возникшим во время фиктивного интервью. Я знал людей, которые хорошо знали материал, но из-за нервозности не могли думать на лету и формулировать свои идеи.


Кроме того, leetcode не дает вам задачи на собеседовании в том же формате, в котором вы их получите во время самого собеседования. Часто интервьюеры намеренно опускают ключевую информацию, чтобы посмотреть, спросите ли вы. Они также, как правило, не дают вам примеров или границ проблемы. К этой двусмысленности нужно привыкнуть.


Работа с разными типами интервьюеров также важна. У интервьюеров разные характеры, и умение вести себя с тем, у кого явно плохой день, само по себе является навыком.


Какие темы доставляют вам дополнительные хлопоты?


Этот список должен быть пуст к моменту вашего интервью. Если динамическое программирование доставляет вам проблемы, вам нужно определить, почему оно доставляет вам проблемы. Считайте этот список дорожной картой того, на что вам нужно потратить дополнительное время на подготовку. Вы не готовы, пока этот список не опустеет.


Есть ли у вас структура того, как вы подходите к интервью?


У вас должна быть структура того, как вы подходите к своим интервью. Вот как я разбил свои интервью. Я призываю вас принять его. Это важно для того, чтобы вы могли уменьшить количество переменных, выиграть время, чтобы найти разумное решение, и убедиться, что вы соответствуете всем пунктам, по которым вас оценивает интервьюер.


Проводили ли вы пробное поведенческое интервью с кем-либо? Насколько уверенно вы говорите о своем опыте?


Большинство людей никогда не практикуют проведение поведенческого фиктивного интервью. Это так легко сделать, одного компетентного фиктивного поведенческого интервью — действительно все, что вам нужно, чтобы получить прочную основу для интервью.


Вы должны очень уверенно говорить о своем опыте так, чтобы это помогло вам блистать.


Сколько дней в неделю вы решаете задачу на собеседовании по программированию?


Хотя Leetcode — не единственное, что вы должны использовать, ничто не заменит решение проблем. Вот простой способ [лучше использовать leetcode] (https://fangprep.substack.com/p/how-to-use-leetcode-more-efficiently). Вы должны решать хотя бы одну задачу каждый день. Качество выше количества, лучше потратить 4 часа на анализ проблемы и ее полное понимание, чем на «решение» 5 проблем и просто быстрое чтение их решений.


(Средний уровень и выше) Насколько вы уверены в системном проектировании? 1-10?


Вы должны быть на 9 или 10 здесь. Скоро напишу статью с советами по подготовке системы! Быть в курсе.


(Средний уровень и выше) Считаете ли вы себя экспертом в языке, на котором планируете брать интервью? (1-10)


Для среднего уровня+ вы должны очень хорошо разбираться в том, как работает ваш язык. Существует повышенная вероятность того, что вас спросят о некоторых дополнительных языковых функциях, особенно в отношении параллелизма.


Если у вас есть время, я призываю вас узнавать один новый факт о вашем языке каждый день и записывать их в бегущий список, чтобы это никогда не было ошеломляющим. После месяца изучения нового факта каждый день вы будете удивлены, как далеко вы продвинетесь.


Сколько времени у вас есть до интервью?


Это важно, потому что в зависимости от того, сколько у вас есть времени, я буду рекомендовать различные способы подготовки. Все дело в том, чтобы максимизировать свои шансы, и советы варьируются в зависимости от того, сколько у вас есть времени. На эту тему есть что добавить, поэтому скоро я напишу еще одну статью на эту тему.


Вопросы, которые я никогда не задаю


Сколько проблем с литкодом вы решили?


Я знаю людей, которые «решили» более 800 проблем с литкодом, но все равно не прошли собеседование. Почему? Потому что простое шлифование leetcode не является исчерпывающим планом подготовки к собеседованию. Вам нужно освоить основы, изучить техники, научиться формулировать свои мысли и справиться с нервами в дополнение к отработке задач.


Литкод важен, но он не заменяет другие аспекты.


Сколько языков ты знаешь?


Единственный язык, который имеет значение, — это язык, на котором вы планируете брать интервью. Сосредоточьте все свои усилия на том, чтобы стать экспертом в нем, и перестаньте распыляться. Никого не волнует, что вы прошли вводный курс по Ruby


Присоединяйтесь к сообществу


Если у вас есть Oculus Quest 2 и вы заинтересованы в бесплатном дизайне системы, поведенческом или фиктивном интервью DSA, отправьте мне пинг на дискорде «dan#9955».


Также опубликовано здесь: https://fangprep.substack.com/p/are-you-ready-for-your-faang-interview?s=r



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE