Ресурсы и с чего начать подготовку к FAANG Interview

Ресурсы, где можно почитать про сложное простыми словами и с чего начать, когда литкод не решается.

Aurora Lights
FAANG_interview
3 min readSep 10, 2020

--

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

Stepik, Coursera, каналы на YouTube, 🙂Hackerearth. В последнем, материал предоставлен по темам. Перешагнуть этот барьер помогло изучение паттернов типа two pointers, sliding window итд. Подход — решать задачи не по темам типов данных как на литкоде, а по темам паттернов.

Если бы я начинал сейчас с нуля я бы сделал так: беру тему “строки” или “массивы”, иду бегло читаю эту тему в Cracking the coding interview (не более 1 дня на это), дальше иду на литкод решать задачи. Суть почитать до — немного снизить уровень страдания в начале) Но все равно старт будет сложным, не избежать этого. Многие недооценивают CtCi, а как старт в алгоритмах это очень круто. Там всё коротко и ёмко, покрываются все основные темы.

🐣🐣🤓**Записи лекций ЛКШ на русском🧩**

🐣🤓**Firecode to start 🧩**Кроме литкода есть еще к примеру фаеркод, у него задачки начинаются вот совсем с самых азов и идут по уровням по мере увеличения сложности, плюс несколько уровней подсказок. 🤑Он бесплатный, выбор языком там поменьше, но джава есть. Он попроще.

🐣🤓**Leetcode Learn 🧩**В разделе learn идет теория + практика. Вполне достаточно, чтоб с нуля подняться.

🐣🤓**Data Structures 🧩**Минимальная теоретическая база. Седжвик не всем нравится — скучный и ограничен Java. Вот специализация, которую в своё время проходил я.

🐣🤓**Algorithm Toolbox🧩**Базовые алгоритмы

🤓**Grokking Coding Interview 🧩** структурирован по шаблонам решения задач. Там нет всех алгоритмов которые нужно знать для успешного прохождения интервью, но там достаточно для начала, перед leetcode. Он может помочь структурировать знания.

И внекласное чтение :)

**Седжвик 😍🤯-**которого любят и ненавидят каждый по своему — рассказывает прикольные истории: почему красно-чёрное дерево красно-чёрное; как кто-то криво закодил удаление из базы данных и она сломалась; почему не надо использовать rand() из Си в покере. Он разбавляет свою теорию историями становления этой теории. Больше всего мне понравилась история, как LSD sort помог посчитать население Штатов в 1880-х, и из этого родилась компания IBM.

Сracking the coding interview Книга даст необходимую теорию и практику (если разобрать все упражнения к главам) для старта. А дальше уже можно смотреть в сторону специализированных курсов и материалов.

И еще несколько ресурсов про сложные вещи простыми словами:

  • Kанал где очень понятно систематизированно и интересно покрываются все базовые темы WilliamFiset
  • Что происходит по шагам, когда в url забиваем адрес сайта? Ответ на это можно посмотреть тут What happens when we hit URL in Browser? и еще больше интересных ответов тут Alex/what-happens-when
  • В контексте обще компьютерной эрудиции хочу порекомендовать проект UNEEX и конкретно автора Г.Курячего Введение в ОС Linux и лекциями. Максимально понятно объясняются вопросы общей работы GNU/Linux и сетей. Виртуальные консоли, Индексные дескрипторы, Таблицы процессов, Сетевые протоколы, Структуры Пакетных Менеджеров.

--

--

Aurora Lights
FAANG_interview

When you aim for perfection you discover it’ s a moving target. I’m chasing it. #digitalnomad