Skip to content
Insight CodeAcademy

Intermediate to Advanced

DSA and System Design

Everything in the DSA course, plus a full System Design curriculum that covers the building blocks of large-scale systems and the judgement to combine them. Built for engineers targeting senior, staff and architect roles.

Duration
28 weeks
Modules
9
Topics
64
Format
Live and Recorded Classes

What you will be able to do

  • Everything from the DSA course, plus the design skills senior interviews test
  • Reason about trade-offs in latency, consistency, availability and cost out loud
  • Choose between SQL and NoSQL, and justify the choice with real constraints
  • Design caching, sharding and replication strategies that survive scrutiny
  • Work through a system design interview with a repeatable structure instead of improvising
  • Translate the same judgement into architecture decisions in your day job

Who this is for

  • Mid-level engineers targeting senior or staff roles
  • Engineers whose coding is strong but who struggle with open-ended design questions
  • Backend and full stack engineers moving toward architecture work

Prerequisites

  • One to two years of professional software engineering experience
  • Comfort with any backend language
  • Basic understanding of databases and HTTP

Curriculum

9 modules, 64 topics, covered in depth.

  1. Module 1

    Everything in the DSA Course

    The full sixteen-week DSA curriculum is included, from complexity analysis through graphs and dynamic programming.

    • Foundations and complexity analysis
    • Sorting
    • Two pointers and sliding window
    • Binary search
    • Recursion and backtracking
    • Trees
    • Heaps
    • Graphs
    • Dynamic programming
    • Interview execution
  2. Module 2

    System Design Foundations

    The vocabulary and mental models the rest of the curriculum builds on.

    • Vertical vs horizontal scaling
    • Latency, throughput and bandwidth
    • Availability, reliability and fault tolerance
    • The CAP theorem and what it actually constrains
    • Consistency models
    • Back-of-the-envelope estimation
  3. Module 3

    Networking and Delivery

    How a request reaches your system and what sits in front of it.

    • DNS and how resolution works
    • HTTP, HTTPS and connection reuse
    • Load balancing algorithms
    • Reverse proxies and API gateways
    • Content delivery networks
    • WebSockets, long polling and server-sent events
  4. Module 4

    Data Storage

    Where the hard trade-offs live. Most design interviews turn on this section.

    • Relational databases and indexing
    • SQL vs NoSQL and how to choose
    • Database replication
    • Sharding strategies and hotspots
    • Consistent hashing
    • ACID and BASE
    • Transactions and isolation levels
    • Object storage and blob stores
  5. Module 5

    Caching

    The highest-leverage optimisation, and the easiest to get wrong.

    • Cache placement: client, CDN, application, database
    • Cache-aside, read-through, write-through, write-back
    • Eviction policies
    • Cache invalidation strategies
    • Redis and Memcached in practice
    • Thundering herd and cache stampede
  6. Module 6

    Asynchronous Systems

    Decoupling producers from consumers, and the failure modes that follow.

    • Message queues and brokers
    • Publish-subscribe
    • Apache Kafka fundamentals
    • Event-driven architecture
    • Delivery guarantees and idempotency
    • Dead letter queues and retries
    • Stream processing
  7. Module 7

    Architecture and Operations

    How systems are structured, deployed and kept alive.

    • Monolith vs microservices
    • Service discovery
    • API design: REST, GraphQL and gRPC
    • Rate limiting algorithms
    • Circuit breakers and bulkheads
    • Observability: logs, metrics and traces
    • Distributed consensus and leader election
  8. Module 8

    Design Case Studies

    Full end-to-end designs worked through the same way you would in an interview.

    • Design a URL shortener
    • Design a rate limiter
    • Design a news feed
    • Design a chat system
    • Design a ride-hailing service
    • Design a video streaming platform
    • Design a distributed search
    • Design a notification system
  9. Module 9

    The Design Interview

    A repeatable structure for the forty-five minutes you actually get.

    • Clarifying requirements and scoping
    • Estimating scale before designing
    • Drawing a high-level design first
    • Going deep where the interviewer probes
    • Stating trade-offs explicitly
    • Handling follow-up constraints

Roles this prepares you for

  • Senior Software Engineer
  • Staff Engineer
  • Tech Lead
  • Principal Engineer
  • Software Architect

Frequently asked questions

How is this different from the DSA course?
This course contains the entire DSA curriculum and adds roughly twelve weeks of System Design. If you are targeting senior or staff roles, the design rounds are where those interviews are decided, so this is the course to take.
I already bought the DSA course. Can I upgrade?
Yes. You pay the difference between the two prices and get immediate access to the System Design material.
How much experience do I need?
One to two years of professional experience is the practical floor. System design discussions assume you have seen a real codebase and deployed something.
Are the case studies just memorised solutions?
No. Each case study is worked through as a live reasoning process, showing why each component is introduced and what the alternatives were. The goal is that you can design a system you have never seen before.
How long do I get access?
You get one year of access to both the DSA and System Design modules, plus six months of job support.