Освойте собеседование по системному проектированию
Освойте собеседование по системному проектированию! Получите советы, хитрости и практические навыки у бывшего менеджера по найму из Amazon, который провел собеседования с тысячами программистов и нанял сотни. Фрэнк Кейн поделится секретами того, что ищет ваш собеседник, и технологиями, которые вы должны знать. Практика - залог успеха, поэтому вы также получите шесть имитированных собеседований по системному проектированию с вопросами из реальной
Полгода-год более реальный срок. Это примерно 350 задач с литкод, где большинство должно быть медиум сложности, хард редко дают на собесе, если дали значит хотят завалить, решить ее за 20-40 минут под стрессом почти нереально, нет смысла пытаться. Особое внимание стоит уделить стекам, деревьям, спискам, и графам.
Алгоритмы для всех уровней примерно одинаковые, уровень сеньорности определяется на системном дизайне и бехавиор интервью, наебать систему на них практически нереально
1. Depth-First Search (DFS)
1. 79 - Word Search
2. 200 - Number of Islands
3. 695 - Max Area of Island
4. 463 - Island Perimeter
5. 733 - Flood Fill
6. 130 - Surrounded Regions
7. 417 - Pacific Atlantic Water Flow
8. 261 - Graph Valid Tree
9. 329 - Longest Increasing Path in a Matrix
10. 688 - Knight Probability in Chessboard
11. 332 - Reconstruct Itinerary
12. 1306 - Jump Game III
2. Breadth-First Search (BFS)
1. 286 - Walls and Gates
2. 542 - 01 Matrix
3. 994 - Rotting Oranges
4. 752 - Open the Lock
5. 127 - Word Ladder
6. 934 - Shortest Bridge
7. 1466 - Reorder Routes to Make All Paths Lead to the City Zero
8. 1162 - As Far from Land as Possible
9. 815 - Bus Routes
10. 1197 - Minimum Knight Moves
11. 1091 - Shortest Path in Binary Matrix
12. 1293 - Shortest Path in a Grid with Obstacles Elimination
3. Topological Sort
1. 207 (Course Schedule)
2. 210 (Course Schedule II)
3. 1136 (Parallel Courses)
4. 310 (Minimum Height Trees)
5. 444 (Sequence Reconstruction)
6. 269 (Alien Dictionary)
7. 802 Find Eventual Safe States
8. 1203 Sort Items by Groups Respecting Dependencies
9. 1192 Critical Connections in a Network (Tarjan's Algorithm)
4. Dijkstra's Algorithm
1. 743 - Network Delay Time
2. 1334 - Find the City With the Smallest Number of Neighbors at a Threshold Distance
3. 1514 - Path with Maximum Probability
4. 1631 - Path With Minimum Effort
5. 778 - Swim in Rising Water
6. 1786 - Number of Restricted Paths From First to Last Node
7. 787 - Cheapest Flights Within K Stops
8 882 - Reachable Nodes In Subdivided Graph
9. 1368 - Minimum Cost to Make at Least One Valid Path in a Grid
10. 1791 - Minimum Number of Refueling Stops
5. Union-Find (Disjoint Set Union)
1. 547 - Number of Provinces
2. 684 - Redundant Connection
3. 721 - Accounts Merge
4. 1584 - Min Cost to Connect All Points
5. 990 - Satisfiability of Equality Equations
6. 1319 - Number of Operations to Make Network Connected
7. 1202 - Smallest String With Swaps
8. 1632 - Rank Transform of a Matrix
6. Floyd-Warshall / All-Pairs Shortest Path
1. 1462 - Course Schedule IV
2. 785 (Is Graph Bipartite?)
3. 886 (Possible Bipartition)
4. 1617 (Count Subtrees With Max Distance Between Cities)
5. 1125 (Smallest Sufficient Team)
Algoexpert - 4/10. Хороший подбор задач, но многие решения не самые лучшие, слишком длинные видео иногда на довольно простых задачах. Лично для меня большой минус, что код пишет в python, я готовился в Java.
Neetcode - 6/10. Больше задач чем у algoexpert, лучше объясняет и видео короче. Но опять же python.
structy.net - 9/10. Наверно лучший ресурс для DSA, особенно если только начинаешь. Очень крутые видео, разжеванные для мелочей. Единственный минус - мало задач(около 120).
От себя, как человека проходившего выше перечисленные курсы, а так же закончившего, пожалуй, все explore карты leetcode и многое другое, добавлю:
10/10 - Competitive Programming 4 (https://cpbook.net/). Закончите оба тома книги и сомневаюсь что вы не пройдете хоть одно алго-собеседование.