About dsaflash.cards

What it is

dsaflash.cards is a spaced repetition flashcard app for engineers. It covers the technical concepts that come up in interviews, system design discussions, code reviews, and on-call rotations — not just data structures and algorithms, but the full stack of knowledge a working engineer needs to recall quickly.

The goal is retention, not exposure. You can read about how a B-tree works and forget it by next week. dsaflash.cards schedules reviews at precisely the right intervals so the knowledge sticks long-term with the minimum amount of time spent reviewing.

Who it's for

Engineers preparing for technical interviews — particularly senior and staff-level interviews where system design, infrastructure, and breadth of knowledge matter as much as algorithmic fluency. Also useful for engineers who want to stay sharp across domains they don't touch daily, or who are ramping up in a new area like Kubernetes or AWS.

No signup required to start. Browse any category and study cards immediately. Create a free account when you want the app to track your progress and schedule reviews based on what you know.

How spaced repetition works

When you review a card, you rate how well you knew the answer: again, almost, or got it. The app uses the SM-2 algorithm to schedule the next review based on that rating. Cards you know well get pushed out — you might see them again in two weeks, then a month, then three months. Cards you struggle with come back sooner, sometimes the next day.

This works because of the spacing effect: information reviewed at increasing intervals is retained far longer than information reviewed repeatedly in a short window. Reviewing a concept once a week for a month beats cramming it for an hour, and dsaflash.cards automates that scheduling for you.

Active recall — the act of retrieving an answer from memory before flipping the card — is more effective than passive re-reading. Seeing a concept explained is easy; forcing yourself to recall it first is what builds durable memory.

What's covered

The current library spans nine topic areas:

  • Data structures — arrays, hash maps, trees, heaps, linked lists, stacks, queues
  • Algorithms — sorting, searching, graph traversal, dynamic programming
  • Big O notation — time and space complexity analysis
  • System design — load balancing, caching, database scaling, CAP theorem
  • AWS — compute, storage, networking, IAM, messaging, CDN
  • Kubernetes — pods, deployments, services, config, networking, autoscaling
  • Docker and Linux — Dockerfile instructions, volumes, networking, Linux permissions, processes
  • Networking — TCP/IP, DNS, TLS, HTTP, proxies, WebSockets
  • Advanced data structures — tries, segment trees, bloom filters, LRU caches, union-find

New categories are added based on what engineers actually need to recall. The content is written for people who already code — explanations assume familiarity with software development and focus on the conceptual distinctions and trade-offs that matter in practice.