Site icon AppTractor

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

Советы по эффективному использованию Leetcode для получения хороших знаний в структурах данных и алгоритмах для подготовки к интервью и собеседованию в крупных IT-компаниях:

1. Если вы начинаете с нуля, пройдите основные вопросы с собеседований (полное прохождение Easy и Medium уровней является обязательным и нужно ответить как минимум на 50% вопросов из вопроса уровня Hard).

2. Отфильтруйте вопросы по каждой теме и решите наиболее популярные вопросы. Обязательно ответьте как минимум на 4 вопроса (1 легкий, 2 среднего, 1 сложный) в каждой теме.

3. Попробуйте найти сходство похожих вопросов (отслеживание ошибок, BFS, DFS, скользящее окно) и создать для них шаблоны.

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

5. Всегда следите за обсуждением в Leetcode, даже если вы смогли решить вопрос, посмотрите, сможете ли вы сделать свой код чище.

6. Не думайте, что вы освоили шаблон/тему, думая, что вы решили N вопросов из этого раздела, если только вы не можете написать код для новых задач в нем без какой-либо отладки. (несколько ошибок компилятора все еще нормально, хотя попробуйте уменьшить их количество).

7. Если вы не можете решить проблему, вернитесь к ней через день. Если вы все еще не знаете, с чего начать, посмотрите решение из раздела обсуждения. Но не пишите код. Вернитесь к вопросу через 4–5 дней и решите его, не глядя на решение.

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

9. [Необязательно] Получите премиум-подписку и займитесь вопросами с тегами конкретных компаний. Месяца должно хватить. (Либо заплатите за это, либо сделайте то, что я сделал — найдите ошибку на их веб-сайте и используйте leetcoins, которые они присуждают за поиск, чтобы купить премиум. ​​На самом деле не тратьте много времени на поиск ошибок, это не ваша цель).

10. Проведите как минимум 5 пробных интервью, и если вы не можете найти решение, посмотрите, сможете ли вы понять подсказки, которые дает интервьюер. Используйте PRAMP.

Как подготовиться к собеседованию в Системном Дизайне:

1. Учебник по системному дизайну — это как википедия, начните отсюда, но не заканчивайте на этом, если вы хотите стать мастером в собеседованиях по системному дизайну.

2. Используйте Educative — это сэкономит много времени со стандартными вопросами.

3. Просмотрите блоги компаний и видео с конференций. Вот ссылка на один из полезных каналов на YouTube.

4. Изучите архитектуру нескольких проектов с открытым исходным кодом (Kafka, zookeeper, Cassandra) и поймите, как они работают, попытайтесь найти, как они достигают согласованности, высокой пропускной способности и т.д. в распределенной среде.

5. Практикуйтесь в решении известных проблем, таких как дизайн Twitter, Uber, Instagram и т.д.. Выработаайте свои собственные решения, а также убедитесь, что вы можете нарисовать и объяснить это за 40–45 минут от высокоуровневого проектирования до одного или двух его компонентов.

6. Пройдите как минимум 3 пробных интервью с хорошо известными проблемами (можно использовать PRAMP).

Что еще почитать про подготовку к собеседованию:

Источник

Exit mobile version