CS_basics

The notes, solutions and practice record behind one engineer's preparation for the G L3 coding loop — data-structure and algorithm patterns, worked in Python first and Java second, with the tools that turn a practice log into a study plan.

3,275LeetCode problems indexed
134cheatsheets
840practice days logged
36algorithm visualizers

Where the practice stands

Progress is read from the practice log, not from the index's hand-kept status column: 820 problems logged over 840 days, the last on 2026-10-09. The latest verdict is ok for 124 of them and again for 191 — the review plan schedules the second group, and the roadmap shows the first as done.

ok
Re-derived unaided in that session — the invariant stated, the line that sets the complexity named, the edge cases handled. The bar /lc-again asks before promoting a row. The roadmap counts it as solved and /l3-core counts it as solid.
again
Came back, or needed the solution. Anything short of the bar above is another pass, and the common case. Bangs mark how hard it fought — again!!! sorts above a bare again in the review plan.
todo
Written down to attempt, not attempted yet. Its own bucket in the review plan, ranked between again and ok when a day records both — so a problem can be in the log without ever having been worked.
no verdict
Attempted and not judged. The verdict is the latest annotation, not the best one: a bare re-attempt after an ok clears it, so a problem stays solid only while it keeps being re-derived.

The problem index carries a hand-kept OK / AGAIN column with the same meaning and a star run counting the passes; it is updated when the author gets round to it, so it lags the log. The index shows that column as written; every progress figure on this page and every verdict on the roadmap comes from the log instead.

Learn a pattern

Ordered so that one thing leads to the next, rather than by problem number.

Study roadmap A dependency-ordered path through 29 topics — what to learn next, and what it needs first. Cheat sheets Every pattern, with templates in Java and Python, ranked by how often interviews ask for it. Pattern recognition Read a problem statement, name the technique. The keyword-to-pattern table. Visualizers Step through Dijkstra, KMP, knapsack and 33 more, one frame at a time.

Practise it

Pick something to solve, then keep what you solved from going stale.

Problem explorer All indexed problems, filtered by tag, difficulty and acceptance rate, linked to the solutions here. Review plan Spaced repetition over the practice log — what is overdue, what keeps coming back, and a session picked for you. Complexity quiz Read a snippet, name its time and space. 208 questions, each with the trap it sets. Random picker One problem, drawn from the list and difficulty you choose — for when choosing is the thing stopping you.

Look something up

The index the rest of it is built from.

Problem index The full README table — every problem, its solutions, its tags and its status. Similar problems The graph of which problems share a technique, so a solved one points at its siblings. Search Every cheatsheet, FAQ and problem note, full-text. Press / from anywhere on the site. Resources The books, courses and references the notes here were built from.
Agent skills → 16 slash commands for coding agents — file a solution, log a session, pick what to drill next. Browse them and install in one command.

Off the coding-loop path

Two collections here are backend and data-engineering interview material, not what a G L3 coding loop asks. They are kept as reference and stay off the roadmap, the review plan and the L3 core set — so a visitor preparing for the coding loop can skip them without missing anything.

Interview FAQs off path 51 question-and-answer sheets on Backend, Database, Flink, Java, Kafka, Redis, SQL, Spark & Hadoop and Streaming — for a backend or data-engineering round. System design off path 11 case studies, plus a design template and a capacity-estimation sheet, on GitHub. A separate interview round, not this one.

Complexity, at a glance

The reference charts, kept on the front page because they are the thing most often looked up. Source: bigocheatsheet.com.

Big-O complexity chart: operation count against input size for constant, logarithmic, linear, linearithmic, quadratic and exponential growth.
Table of average and worst-case time complexity for access, search, insertion and deletion across the common data structures.
Table of best, average and worst-case time and space complexity for the common sorting algorithms.

Of the 3,275 problems indexed, 1,311 are the author's own rows and 1,964 are imported drafts from a coverage audit, marked as such in the index. Everything here is built from the markdown in the repository — corrections welcome.