2022-02-15 19:32:14
Вброшу ссылок про литкод, мб кому пригодится.В некоторых компаниях есть этап собеседования с алгоритмическими задачами. На собеседованиях ничего сложнее провалидировать скобки не попадалось, но если в стартапе есть ex-FAANG(MANGA) сотрудник, то могут дать что-то и на динамическое программирование. Ну и в компаниях упомянутых это тоже обязательный пункт. Олимпиадным программированием я не занимался, образование у меня не CS, поэтому все необходимые знания берем из интернета.
На литкоде есть раздел обучения, основные темы разобраны норм + есть практика в виде задачек. Для некоторых задач есть формальные доказательства решений и скорости (У меня правда на собесе такое только 1 раз спрашивали).
https://leetcode.com/explore/learn/
Есть переводы статей одного китайца. Оформлена в виде глав. Некоторые темы разобраны лучше, чем на литкоде, например, логика разделения на паттерны бинарного поиска.
https://labuladong.gitbook.io/algo-en/iii.-algorithmic-thinking/detailedbinarysearch
Список задач, покрывающий основные темы. Удобная сортировка по темам, сложности и компаниям + можно отмечать прогресс:
https://seanprashad.com/leetcode-patterns/
Данный список включает в себя задачи из списка blind-75
https://www.teamblind.com/post/New-Year-Gift---Curated-List-of-Top-100-LeetCode-Questions-to-Save-Your-Time-OaM1orEU
+ с курса на educative.
https://www.educative.io/courses/grokking-the-coding-interview
Решения задач, если где-то застряли можно посмотреть вот тут:
Объяснения оч четкие и приятный английский. Изложение более интуитивно понятное, чем решения на литкоде и можно посмотреть за ходом мыслей.
Если кто хочет более фундаментальной подход, вот курс Седжвика https://www.coursera.org/learn/algorithms-part1#syllabus (но задания на джаве там)
1.6K views16:32