Варианты подготовки к собеседованию в FAANG/около FAANG для разных уровней текущей подготовки. Часть 3.
Предыдущие части:
Подготовка для Advanced уровня.
Подготовка для Pre-Intermediate уровня(https://t.me/faangmaster/297, https://t.me/faangmaster/298)
Beginner. Вы знаете какой-то язык программирования на уровне достаточном, чтобы решать алгоритмические задачи. Смотри, например, Шпаргалка по Java для алгоритмического собеседования. Вы знаете английский на уровне от Intermediate и выше. Но вы плохо себе представляете, что такое структуры данных и алгоритмы. Никогда их не изучали ни в каком виде.
Тогда перед шагами описанными в части для Pre-Intermediate уровня, вам нужно изучить структуры данных на самом базовом уровне. Тут есть много вариантов. Если вы студент, возможно у вас в Университете есть какой-то курс. Если нет, можете найти курс по структурам данных и алгоритмов для начинающих. Где расскажут, про самые базовые вещи. Без сложных алгоритмов и сложных задач.
Курсы:
1) https://www.designgurus.io/course/grokking-data-structures-for-coding-interviews
Он подходит полным новичкам, но он на английском.
2) Также, если вы в любом случае планируете пользоваться https://www.algoexpert.io/. Там есть краткий курс по структурам данных в виде серии видео: https://www.algoexpert.io/data-structures/
Книги:
1) Для новичков рекомендую: Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People (В переводе на русский: Грокаем алгоритмы. Иллюстрированное пособие для программистов и любопытствующих | Бхаргава Адитья)
2) Если у вас много времени, то можно почитать Структуры данных и алгоритмы в Java | Лафоре Роберт. Но там будет много лишней информации и сложной для новичка. Я прочитал эту книгу, но далеко не все там полезно. Для новичка я бы только запоминал основы. Что такое массив, строка, список, стек, очередь, хэш таблица, куча, множество, дерево, граф. Как они работают, как их можно реализовать и т.д. В детали можно сильно не уходить.
На овладение основами, вам потребуется еще ~100 часов. Тогда в сумме с уровня, когда вы вообще ничего не знаете про структуры данных, до собеседования в FAANG вам потребуется ~900-1000 часов обучения.
Читать сложные книги, вроде:
1) Алгоритмы: построение и анализ (Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн.)
2) Алгоритмы (Роберт Седжвик)
Я бы не рекомендовал новичкам и тем, кто не планирует начать карьеру в олимпиадном программировании или заниматься наукой в области Computer Science. Они сложны, очень объемны и вы потратите колосальное время на изучение этих книг. Для прохождения собеседования есть и более короткий путь. Если же вы школьник или студент и у вас есть много времени и интереса к программированию, можете их использовать.
Post #299
2.84K