86 cards · arrows + space
Flow · concept drill

Interview flashcards.

A hundred cards across six categories — distributed systems (CAP, Paxos, Raft, CRDTs), databases (LSM, MVCC, vacuum, indexing), networking (TCP, HTTP/3, BGP, NAT), operating systems (processes, threads, mmap), system design (queues, caching, scaling), and languages (goroutines, GC, event loop). Filter by category. Spacebar to reveal, arrows to navigate, S to shuffle.


Card 1 / 86 CAP
Question

What does CAP actually trade off?

Space / Enter: reveal then advance · ← →: navigate · S: shuffle

How to study with flashcards

Read the question. Try to answer aloud or in writing before revealing. The card grades itself — be honest about whether you got the key points. Cards you missed: open the deep-dive link and re-read the relevant section. The same set of cards will surface different gaps each pass; do two to three passes over a week before an interview.

This is not a spaced-repetition app (no Anki-style backend). If you want spaced repetition, export the cards to your tool of choice — the data is right at the top of /interview/concepts/+page.svelte. For most candidates with a week or two of prep time, linear passes work better than spaced repetition because the goal is broad recall, not long-term retention.

A four-pass study cadence

A pattern that works for most senior candidates. Adjust ±1 pass depending on your starting baseline.

  • Pass 1 (~30 min). Linear, all sixty cards. Don't pause to read deep dives. Note the cards you fumble in a list. The goal is to see the full vocabulary in one sitting and build a study list.
  • Pass 2 (1–2 hours). Just the fumbled cards. For each, open the deep dive linked under it; read it carefully. Add your own notes. By the end of this pass, you should be able to answer those cards from memory.
  • Pass 3 (~20 min). Linear again, shuffle order this time. The cards you missed on pass 1 should now be fine; new gaps will surface. Update the list.
  • Pass 4 (the day before). Just the cards you still get wrong. Five to ten cards usually. Re-read those deep dives one more time. Sleep well.

Topic coverage

Cards span the full distributed-systems vocabulary that comes up in senior interviews:

What the cards do not cover

Behavioural questions, coding rounds, company-specific framings, low-level data-structure trivia (red-black trees, AVL rotations). Those need their own resources. For coding rounds, see the problem-solving patterns. For full system-design rounds, see the 45-minute system-design simulator. For deeper theory, read the annotated papers.

Frequently asked questions

How often will questions like these come up in an interview?

Distributed-systems concept questions show up in three places: as warm-ups in coding rounds ("what's the difference between linearizability and serializability?"), as deep dives within system-design rounds ("walk me through how Raft elects a leader"), and as standalone rounds at some companies (most notably Meta and Google for L5+). Expect at least two or three questions of this shape across a full loop.

Are these the same questions FAANG interviewers ask?

The shape is the same; we don't claim leaked content. Real interviewers tend to start broad ("tell me about CAP") and drill down into trade-offs ("when would you pick CP over AP?"). The flashcard answers are calibrated to that drill-down depth — enough detail that "I read it on a flashcard" wouldn't fly, but not so much that you couldn't memorise it.

What if I can't remember the exact numbers in an answer?

For most concepts, the qualitative answer is what gets graded — "Raft uses majority quorums to ensure overlap" is more important than "the quorum size is ⌈N/2⌉+1". Interviewers care that you understand the mechanism. Specific numbers (FLP needs at least one crash, BFT needs 3f+1, R+W>N for strong consistency) are worth memorising; finer details rarely are.

Should I do this before or after reading the deep dives?

After. The cards are meant as a recall test, not a primer. If you have not read the underlying topics (Spanner, Raft, Dynamo, CRDTs), the cards will be opaque. Start with the distributed-systems study path if you are new to these concepts.

Why no progress tracking?

Streaks and scores optimise for the wrong thing. The metric that matters is "can I answer this card cold in an interview", not "how many days in a row did I open the page". If you want streak-style tracking, paste the cards into Anki.

Related on Semicolony

Found this useful?