Algorithms and high level design, for interviews and for work

DSA and System Design. Worked out.

Study DSA and system design for your coding round and your design round. Each lesson takes about an hour, so you can fit one into an evening after work.

Start the DSA roadmapExplore system design

Free to read, no signup required.

System design, argued from these companies' papers and postmortems.

Sources cited across the course include PostgreSQL, Apache Kafka, MySQL, Notion, Figma, Pinterest, Google, Meta, Netflix, AWS, Apple, OpenAI, Anthropic, Stripe, Microsoft, Cloudflare, Discord, X, Slack, GitHub.

DSA, taught pattern by pattern: 87 of them.

The DSA roadmap teaches these patterns: Thinking like a programmer, Language basics, Time and space complexity, Loops through pattern printing, Working with digits and divisors, Recursion basics, Counting with arrays and maps, Array basics, Hash map lookups, Counting and voting, One pass with running state, Prefix sums, Walking a matrix, Counting during merge sort, Number tricks, Primes and the sieve, Fast power and modular arithmetic, Pascal's triangle and combinations, Bit basics, XOR tricks, Counting and shifting bits, Bitmasks, String basics, Parentheses and nesting, Parsing and conversion, Counting over substrings, Simple sorts, Divide-and-conquer sorts, Pointers from both ends, Rearranging in place, Merging sorted arrays, Longest or shortest window, Fixed-size window, Counting windows, Building stacks and queues, Matching and cancelling, Infix, prefix and postfix, Monotonic stack, Monotonic queue, Lower and upper bounds, Searching a sorted array, Searching the answer, Searching a matrix, Partition search, Singly linked list basics, Doubly linked lists, Fast and slow pointers, Reversing and rewiring, A list and a map together, Pick or skip, Recursion on a stack, Generating every choice, Searching with constraints, Traversals, Depth first: return a value up, Breadth first: level by level, Building and serializing, BST basics, Using the ordering, Building a heap, Top K, Simulating with a heap, Two heaps, Merging k sorted lists, Prefix trees, Tries over bits, Graph basics, Grids as graphs, Fewest steps with BFS, Traversing a graph, Cycle detection, Topological sort, Union-find, Weighted shortest paths, Minimum spanning trees, Special edges and paths, The best choice now, Merging and scheduling, Take it or skip it, Palindromes, Increasing subsequences, Buying and selling with states, Paths in a grid, Knapsack, Two strings, Splitting a range, Pattern matching.

Two courses

How to use it

For DSA, start at the top of the roadmap and go in order. Each pattern begins with how to spot it and a short lesson, then lists problems from easy to hard. If your interview is only a few weeks away, use the 147 DSA sheet instead. At three problems a day, it takes seven weeks.

For system design, read one problem breakdown per evening. The top of each breakdown links the core concepts it depends on, so you can read those first if you need to. You do not have to memorise any numbers. Every estimate is worked out step by step, so you can do the same maths in your interview.

Sign in to oneby7

Keep your progress, your streak and your code, on any device.

New here? This creates your account too.