Kail
Организатор
Проверенный
Организатор
- Регистрация
- 09.04.2020
- Сообщения
- 353 752
- Реакции
- 32 498
- Монеты
- 1 191
- Оплачено
- 0
- Баллы
- 0
- #SkladchinaVip
- #1
Хакни алгоритмические собеседования [Макс Фатин, Даня Слободенюк]
Алгоритмы сейчас нужны почти в каждой Big Tech компании при трудоустройстве
Для кого прокачать алгоритмы это мастхэв?
За счет чего ты получишь результат?
В итоге ты освоишь:
1. Хеш-таблица
Bit map
Bit map или как написать свою хеш-таблицу на битовых манипуляциях, чтобы работала оптимальней, чем встроенная в ЯП (а ее между прочем создавали вполне не глупые люди), но есть хак как ее можно обогнать… Ты не поверишь, но это не только нужно для собесов, но и работы.
Структуры данных
Поиск двух элементов дающих в сумме target уже не в моде и осталось только на страницах учебников. В топ популярных вопросов сейчас входит написание своих структур данных с использованием хеш-таблиц с ними то мы и разберемся.
Я + Ты + ClickHouse = ?
Хочу поделиться с тобой историей как я оптимизировал запросы в ClickHouse на кластере, где более 5 ярдов событий за месяц приходит или как я писал свой bloom filter и для чего он вообще нужен… Ну и конечно расскажу что их этого вышло.
Внутри и снаружи
Снаружи у хеш-таблицы все просто: вставка, поиск, удаление — все за O (1). Но как насчет внутрянки? А ведь есть и такие проблемы как коллизии, подбор хеш-функции, не обоснованное использование фильтра Блюма… Но мы наведем порядок «внутри и снаружи», чтобы интервьюер не поставил в тупик вопросом по реализации хеш-таблицы.
Результат
Решишь топ 6 задач с собеседований на тему «хеш-таблиц», а если быстро справишься, то дам еще задачек для закрепления.
2. Графы для графов
База для графов
Как истинные графы «по привычке» пьют чай с отогнутым мизинцем тебе нужно знать что такое dfs, bfs, когда какой обход выбирать, способы хранения графов…, чтобы «по привычке» успешно решать задачи на эту не простую тему
Шах и мат!
Лошадь с A1 на B3 или нет, на С2… Именно такие раздумия могут быть если заранее не прорешать популярные задачки на шахматные фигуры, но мы это исправим и ты точно будешь знать следующий ход!
Я + Huawei + Графы
Расскажу историю о том, как я придумал параллельный алгоритм поиска пути в графах, который до сих под используется в MPI приложениях для поиска точек оптимизаций при запуске на больших кластерах и что значит работать в R&D или как мне каждый день на работе нужны были алгосы P. S. есть даже статейка с моим алгоритмом, которая опубликована в книге
Карта наше все
Сейчас самые популярные задачки на «карты» и работу с DFS и BFS. Чтобы показать все самые сильные стороны интервьюеру отработаем работу с картами и обходы на них
Результат
Прорешаешь все самые популярные задачи на графы на задачах Яндекса и других Big-tech компаний
3. Не простые массивы
Кажется, что просто
Найди сумму диагоналей в метрице! Именно такая задача долгое время встречалась в Яндексе и кандидаты забывали, что при нечетном размере элемент в центре складывается дважды. Чтобы так не промахнуться разберем, что спрашивают по этой теме сейчас
Хакаем массивы
Разберем in-place оптимизации, позволяющие без хеш-таблицы искать пропущенные числа за O
Структуры данных
Узнаешь о структурах данных и научишься с ними работать, которые строятся на казалось бы простых массивах, но позволяют отпимально находить максимальные/минимальные элементы в даже на больших данных
Префиксные массивы
Не дай интервьюеру поставить тебя в тупик вопросом: «реализуй структуру данных, которая за O (1) находит сумму на интервалах…». Узнай что такое префиксные массивы, особенности реализации, возможные оптимизации и когда их стоит применять, а когда нет
Результат
Решишь 10 задачек и освоишь все популярные паттерны работы с «не простыми массивами» и оценишь по времени и памяти каждую задачу
4. Два указателя
С двух сторон
Раньше достаточно было знать как проверить слово в нижнем регистре на палиндром, а теперь эта университетская задача эволюционировала в целый паттерн «с двух сторон», которым решается не малый класс задач
Каждому по указателю
Сейчас в тренде задачки не просто на 2 указателя, а с различными сортировками и дальнейшим видами объединения. Так что будем следовать тренду и узнаем, что именно интервьюер хочет получить, когда просит написать условный «UNION» и какие операции нужно уметь делать еще
Fast & slow
Быстрый и медленный указатель. Эххх… Это уже стало баяном так что не знать данный патер стыдно, но мы это исправим
Результат
Узнаешь что хотят услышать от кандидата Сбер, Яндекс и Озон по теме двух указателей и решишь более 5 задач на закрепление темы
5. Плавающее окно
Пересекай и побеждай
Представь, что ты бы мог решать задачи на плавающие окна без ошибок и с первого раза! Так вот это не миф, а реальность. Просто до прохождения программы ты не знал о паттернах про «пересекающиеся» и «не пересекающихся» окна. Каждый их которых имеют свою не изменную структуру в коде
Оцени эффективность
Перед тем как на собеседовании приступить к написанию кода нужно оценить решение по времени и памяти и плавающее окно не исключение. Поэтому рассмотрим как быстро и точно оценивать память для каждого из типов задач
Результат
Прорешаешь минимум 7 задачек для отработки каждого паттерна, чтобы не вспоминать “что там говорил лектор” на собеседовании, а быстро и четко решать задачи
6. Бинарный поиск и Сортировки
Хватит так писать!
Не раз наблюдал как кандидаты судорожно пишут бинарный поиск и мене это надоело! Я хочу, чтобы ты не сомневался ни на секунду, когда будешь решать в очередной раз поиск первого или последнего вхождения элемента в массив, ведь есть очень простой способ это делать и я его тебе покажу (его используют все олимпиадники)
Учимся бинарить все
Научу видеть тебя бинарный поиск даже в тех задачках, где не нужно, ведь осознание простого правила «Какая задача может решаться бинарным поиском?» научит тебя понимать суть бинарного поиска и области его применения далеко за пределами простых задачек
Сортируй с умом
А какая сортировка есть в твоем ЯП? А какая у нее ассимптотика? А точно нельзя оптимальней? Все это базовые вопросы, которые не должны ставить тебя в тупик так что пройдемся по базовым сортировкам и научимся их применять для паттерна с кодовым названием «AНА» и «сортировка событий»
Результат
После лекции про бинарный поиск решишь 5+ задач с собеседований BigTech компаний. А после лекции по сортировкам еще 5+ задач (и все с собесов)
7. Структуры данных
Стек и Очередь
Все уже научились проверять скобочную последовательность “{()[]}” на правильность с помощью стека, поэтому рассмотрим тему чуть глубже и научимся решать не только баянистые задачи, которые важно знать, но и ответим на важные вопросы, такие как: “Что такое VIP очередь?” и “Зачем очередь писать на стеках?”
Связный список
Новый тред задал Sber Devices, когда начал активно спрашивать кандидатов про связный список и умение работать с ним используя паттерны “Быстрый и медленный указатель”. Рассмотрим все что нужно знать, чтобы не оплашать перед интервьюером и даже чуть больше
Деревья
Если собрался идти на собес в Яндекс без знаний по деревьям, то это может быть фатальной ошибкой. Ведь это одна из тем, которую с особым пристрастием спрашивают интервьюеры. Я и сам раньше любил давать такие задачки, поэтому подсвечу все подводные камни
Куча
Мало кто слышал про эту структуру данных и еще меньше кто умеет ее реализовывать и объяснять детали реализации под капотом. А вот если ты решил пойти на высокий грейд в Авито, то эти знания тебе точно понадобятся, поэтому ты отработаешь все на практике + прорешаешь все важные задачи для освоения темы
Результат
Прорешаешь более 15 задачек, чтобы чувствовать уверенность в каждой из перечисленных структур данных
- Ссылка на картинку
- Почувствуй уверенность на алгоритмическом собеседовании и проходи его успешно даже если интервьюер все время молчит.
- Начни успешно проходить алго-собесы с 1-ой недели курса, даже если до этого частенько их заваливал. P.S. не кликбейт, ведь не во всех компаниях спрашивают сложные темы.
- Освой навык, который позволит увеличить число и качество офферов в 1,5–2 раза.
Алгоритмы сейчас нужны почти в каждой Big Tech компании при трудоустройстве
Для кого прокачать алгоритмы это мастхэв?
- Не получается проходить алгоритмические собесы и получить оффер в компанию мечты
- Усердно готовишься к алго-собесам, но все равно нет легкости на самом собесе
- Хочешь работать над сложными проектами, но не хватает знаний
- Во время собеса интервьюер молчит, а ты не знаешь, что с этим делать
- Успешно проходить алгоритмическую секцию и решать задачи с первого раза с полным пониманием происходящего. Как итог — увеличивать число и размер офферов
- Грамотно выбирать структуры данных и алгоритмы для рабочих задач и без проблем делать оценку по времени и памяти в Big O нотации
- Грамотно просить подсказки и приятно удивлять интервьюера
- Видеть паттерны в задачах и уметь их применять, а не зубрить решение каждой задачи
За счет чего ты получишь результат?
- Определим твою цель и найдем кратчайший путь к ней
- Мы проанализировали рынок, изучили самые популярные темы, которые используются в работе и на собесах, и включили их в обучающую программу
- Собрали задачки, которые встречались соискателям на собеседованиях в Яндекс, VK, Ozon, Сбер, Авито, Huawei и другие компании. Мы включили их в лекции и домашку, поэтому уже на первой неделе ты будешь готов к алго-собесу в Авито, на второй в OZON и так далее
- После каждой лекции есть домашка — ты будешь закреплять знания на практике, решая задачи на LeetCode, Codeforces, InterviewBit, которые встречаются на собеседованиях. А после решения сверяться с эталонными решениями.
В итоге ты освоишь:
1. Хеш-таблица
Bit map
Bit map или как написать свою хеш-таблицу на битовых манипуляциях, чтобы работала оптимальней, чем встроенная в ЯП (а ее между прочем создавали вполне не глупые люди), но есть хак как ее можно обогнать… Ты не поверишь, но это не только нужно для собесов, но и работы.
Структуры данных
Поиск двух элементов дающих в сумме target уже не в моде и осталось только на страницах учебников. В топ популярных вопросов сейчас входит написание своих структур данных с использованием хеш-таблиц с ними то мы и разберемся.
Я + Ты + ClickHouse = ?
Хочу поделиться с тобой историей как я оптимизировал запросы в ClickHouse на кластере, где более 5 ярдов событий за месяц приходит или как я писал свой bloom filter и для чего он вообще нужен… Ну и конечно расскажу что их этого вышло.
Внутри и снаружи
Снаружи у хеш-таблицы все просто: вставка, поиск, удаление — все за O (1). Но как насчет внутрянки? А ведь есть и такие проблемы как коллизии, подбор хеш-функции, не обоснованное использование фильтра Блюма… Но мы наведем порядок «внутри и снаружи», чтобы интервьюер не поставил в тупик вопросом по реализации хеш-таблицы.
Результат
Решишь топ 6 задач с собеседований на тему «хеш-таблиц», а если быстро справишься, то дам еще задачек для закрепления.
2. Графы для графов
База для графов
Как истинные графы «по привычке» пьют чай с отогнутым мизинцем тебе нужно знать что такое dfs, bfs, когда какой обход выбирать, способы хранения графов…, чтобы «по привычке» успешно решать задачи на эту не простую тему
Шах и мат!
Лошадь с A1 на B3 или нет, на С2… Именно такие раздумия могут быть если заранее не прорешать популярные задачки на шахматные фигуры, но мы это исправим и ты точно будешь знать следующий ход!
Я + Huawei + Графы
Расскажу историю о том, как я придумал параллельный алгоритм поиска пути в графах, который до сих под используется в MPI приложениях для поиска точек оптимизаций при запуске на больших кластерах и что значит работать в R&D или как мне каждый день на работе нужны были алгосы P. S. есть даже статейка с моим алгоритмом, которая опубликована в книге
Карта наше все
Сейчас самые популярные задачки на «карты» и работу с DFS и BFS. Чтобы показать все самые сильные стороны интервьюеру отработаем работу с картами и обходы на них
Результат
Прорешаешь все самые популярные задачи на графы на задачах Яндекса и других Big-tech компаний
3. Не простые массивы
Кажется, что просто
Найди сумму диагоналей в метрице! Именно такая задача долгое время встречалась в Яндексе и кандидаты забывали, что при нечетном размере элемент в центре складывается дважды. Чтобы так не промахнуться разберем, что спрашивают по этой теме сейчас
Хакаем массивы
Разберем in-place оптимизации, позволяющие без хеш-таблицы искать пропущенные числа за O
Структуры данных
Узнаешь о структурах данных и научишься с ними работать, которые строятся на казалось бы простых массивах, но позволяют отпимально находить максимальные/минимальные элементы в даже на больших данных
Префиксные массивы
Не дай интервьюеру поставить тебя в тупик вопросом: «реализуй структуру данных, которая за O (1) находит сумму на интервалах…». Узнай что такое префиксные массивы, особенности реализации, возможные оптимизации и когда их стоит применять, а когда нет
Результат
Решишь 10 задачек и освоишь все популярные паттерны работы с «не простыми массивами» и оценишь по времени и памяти каждую задачу
4. Два указателя
С двух сторон
Раньше достаточно было знать как проверить слово в нижнем регистре на палиндром, а теперь эта университетская задача эволюционировала в целый паттерн «с двух сторон», которым решается не малый класс задач
Каждому по указателю
Сейчас в тренде задачки не просто на 2 указателя, а с различными сортировками и дальнейшим видами объединения. Так что будем следовать тренду и узнаем, что именно интервьюер хочет получить, когда просит написать условный «UNION» и какие операции нужно уметь делать еще
Fast & slow
Быстрый и медленный указатель. Эххх… Это уже стало баяном так что не знать данный патер стыдно, но мы это исправим
Результат
Узнаешь что хотят услышать от кандидата Сбер, Яндекс и Озон по теме двух указателей и решишь более 5 задач на закрепление темы
5. Плавающее окно
Пересекай и побеждай
Представь, что ты бы мог решать задачи на плавающие окна без ошибок и с первого раза! Так вот это не миф, а реальность. Просто до прохождения программы ты не знал о паттернах про «пересекающиеся» и «не пересекающихся» окна. Каждый их которых имеют свою не изменную структуру в коде
Оцени эффективность
Перед тем как на собеседовании приступить к написанию кода нужно оценить решение по времени и памяти и плавающее окно не исключение. Поэтому рассмотрим как быстро и точно оценивать память для каждого из типов задач
Результат
Прорешаешь минимум 7 задачек для отработки каждого паттерна, чтобы не вспоминать “что там говорил лектор” на собеседовании, а быстро и четко решать задачи
6. Бинарный поиск и Сортировки
Хватит так писать!
Не раз наблюдал как кандидаты судорожно пишут бинарный поиск и мене это надоело! Я хочу, чтобы ты не сомневался ни на секунду, когда будешь решать в очередной раз поиск первого или последнего вхождения элемента в массив, ведь есть очень простой способ это делать и я его тебе покажу (его используют все олимпиадники)
Учимся бинарить все
Научу видеть тебя бинарный поиск даже в тех задачках, где не нужно, ведь осознание простого правила «Какая задача может решаться бинарным поиском?» научит тебя понимать суть бинарного поиска и области его применения далеко за пределами простых задачек
Сортируй с умом
А какая сортировка есть в твоем ЯП? А какая у нее ассимптотика? А точно нельзя оптимальней? Все это базовые вопросы, которые не должны ставить тебя в тупик так что пройдемся по базовым сортировкам и научимся их применять для паттерна с кодовым названием «AНА» и «сортировка событий»
Результат
После лекции про бинарный поиск решишь 5+ задач с собеседований BigTech компаний. А после лекции по сортировкам еще 5+ задач (и все с собесов)
7. Структуры данных
Стек и Очередь
Все уже научились проверять скобочную последовательность “{()[]}” на правильность с помощью стека, поэтому рассмотрим тему чуть глубже и научимся решать не только баянистые задачи, которые важно знать, но и ответим на важные вопросы, такие как: “Что такое VIP очередь?” и “Зачем очередь писать на стеках?”
Связный список
Новый тред задал Sber Devices, когда начал активно спрашивать кандидатов про связный список и умение работать с ним используя паттерны “Быстрый и медленный указатель”. Рассмотрим все что нужно знать, чтобы не оплашать перед интервьюером и даже чуть больше
Деревья
Если собрался идти на собес в Яндекс без знаний по деревьям, то это может быть фатальной ошибкой. Ведь это одна из тем, которую с особым пристрастием спрашивают интервьюеры. Я и сам раньше любил давать такие задачки, поэтому подсвечу все подводные камни
Куча
Мало кто слышал про эту структуру данных и еще меньше кто умеет ее реализовывать и объяснять детали реализации под капотом. А вот если ты решил пойти на высокий грейд в Авито, то эти знания тебе точно понадобятся, поэтому ты отработаешь все на практике + прорешаешь все важные задачи для освоения темы
Результат
Прорешаешь более 15 задачек, чтобы чувствовать уверенность в каждой из перечисленных структур данных
Зарегистрируйтесь
, чтобы посмотреть скрытый авторский контент.