Skip to content
PodcastsCoursesSoftware Engineer Interview Prep Podcast

Software Engineer Interview Prep Podcast

Prabuddha Ganegoda
Software Engineer Interview Prep Podcast
Latest episode

41 episodes

  • Software Engineer Interview Prep Podcast

    Mastering REST API Design & Best Practices

    10/10/2026 | 1h 10 mins.
    "Design the backend for Twitter." Reciting HTTP verbs won't get you through that whiteboard session. In this deep dive we build a complete, staff-level blueprint for REST API design: the reasoning behind every rule, the trade-offs interviewers probe, and the patterns that keep large systems evolving safely.

    You'll learn:
    - Fielding's six REST constraints, and why statelessness unlocks horizontal scaling
    - The Richardson Maturity Model, from the "swamp of POX" to HATEOAS
    - URI design: stable identifiers, shallow nesting, filtering and sparse fieldsets
    - Safety and idempotency, PUT vs PATCH, and JSON Merge Patch vs JSON Patch
    - Status codes that show polish: 201 + Location, 409 Conflict, 410 Gone, 422
    - Offset vs cursor pagination
    - Versioning, breaking changes, tolerant readers and the expand-contract pattern
    - Deprecation headers, RFC 7807 problem details and trace IDs
    - OAuth 2.0, API keys, JWTs and mutual TLS
    - Rate limiting: fixed window, sliding log, token bucket and leaky bucket
    - ETags, Cache-Control, and 202 Accepted for long-running jobs
    - OpenAPI and consumer-driven contract testing with Pact

    Chapters
    00:00 The whiteboard challenge
    01:35 An API as a city
    02:20 Fielding's six constraints
    03:28 Code on demand
    04:38 Statelessness and scaling
    07:44 The layered system
    09:21 The Richardson Maturity Model
    12:29 HATEOAS and server-driven state
    15:13 Pragmatic hypermedia
    15:59 URI design rules
    17:30 Stable identifiers
    18:38 Nesting vs flattening
    20:12 Query parameters
    20:59 Safety and idempotency
    22:54 PUT vs PATCH
    25:39 JSON Merge Patch vs JSON Patch
    27:39 201, 202 and 204
    28:25 409 Conflict and optimistic locking
    30:19 410 Gone
    31:07 400 vs 422
    31:54 Response envelopes
    32:41 Offset pagination
    34:39 Cursor pagination
    36:11 API versioning
    38:55 Breaking vs non-breaking changes
    40:30 Tolerant readers
    41:40 The expand-contract pattern
    44:46 Deprecation and Sunset headers
    45:52 RFC 7807 problem details
    46:41 Trace IDs
    47:27 Never leak internals
    48:14 Returning all validation errors
    49:24 OAuth 2.0 and API keys
    51:25 JWTs and mutual TLS
    52:57 Rate-limiting algorithms
    56:29 429 and Retry-After
    57:15 ETags and Cache-Control
    1:01:11 Async jobs with 202 Accepted
    1:03:58 OpenAPI
    1:05:30 Consumer-driven contracts with Pact
    1:08:39 Recap: API design is empathy

    #RESTAPI #APIDesign #SystemDesign #BackendEngineering #SoftwareArchitecture #InterviewPrep

    Interview Prep Podcast
  • Software Engineer Interview Prep Podcast

    The Architecture of Professional REST APIs

    09/10/2026 | 27 mins.
    Your connection drops mid-checkout on a $1,000 ticket. Do you hit refresh and risk paying twice? The answer lives in the invisible architecture of REST APIs. In this deep dive we go from the basic grammar of the web to the patterns that keep global platforms fast, safe and reliable.

    You'll learn:
    - What REST really is, and why verbs never belong in your URLs
    - Resource naming, the two-level nesting rule, and when to flatten
    - Honest HTTP status codes and error responses with trace IDs
    - API versioning: URI vs headers vs content negotiation
    - Why offset pagination breaks at scale, and how cursors fix it
    - Safe vs idempotent methods, and how idempotency keys prevent double charges
    - Authentication vs authorization, OAuth 2.0, and the trade-offs of JWTs
    - ETags, sparse fieldsets, compression and 202 Accepted for long-running jobs
    - Rate-limit headers and the token bucket algorithm
    - The Richardson Maturity Model, HATEOAS, and API governance with OpenAPI

    Chapters
    00:00 The $1,000 refresh dilemma
    00:45 "It works" vs "it's designed well"
    01:31 What REST really is
    02:17 Resources: nouns and verbs
    03:04 REST vs RPC
    03:52 Nesting and flattening resources
    05:28 Honest status codes
    06:16 The status code vocabulary
    08:36 Error responses that help you fix things
    10:10 API versioning strategies
    11:44 Why offset pagination breaks
    12:53 Cursor-based pagination
    14:03 Securing filters
    14:38 Safe and idempotent methods
    16:02 Idempotency keys
    16:50 Authentication vs authorization
    17:37 JWT trade-offs
    19:11 Caching with ETags
    20:22 Sparse fieldsets and compression
    21:08 Long-running jobs with 202 Accepted
    21:31 Rate-limit headers
    22:16 Rate-limiting algorithms
    23:28 The Richardson Maturity Model
    24:14 HATEOAS in theory and practice
    25:24 API governance
    26:35 Three golden rules
    27:22 Final thought

    #RESTAPI #APIDesign #BackendEngineering #SoftwareArchitecture #SystemDesign #InterviewPrep

    Interview Prep Podcast
  • Software Engineer Interview Prep Podcast

    Kubernetes Deep Dive: Pod Startup and Failure Modes

    09/10/2026 | 31 mins.
    "Walk me through what happens from kubectl apply to the first request hitting your container." It sounds like a warm-up question, but how you answer it can decide whether you land a senior or staff role. In this deep dive we trace a pod from creation to production and unpack the failure modes interviewers expect you to anticipate.

    You'll learn:
    - The full startup chain: API server, etcd, controllers, scheduler, kubelet and container runtime
    - Why init containers can't run in parallel, and why migrations belong in one for security
    - Startup, liveness and readiness probes, and the liveness trap that turns a 10-second database blip into an outage
    - Native sidecars in Kubernetes 1.29 (KEP-753) and the startup and shutdown races they fix
    - HashiCorp Vault: mutating webhook injection, TokenReview and system:auth-delegator, and dynamic database credentials
    - Zero trust with mTLS, SPIFFE identities and JWTs, plus the alg: none attack and audience checks
    - Service DNS, ndots:5, ClusterIP "phantom" IPs, iptables vs IPVS, and headless services for gRPC
    - Istio traps: DestinationRule ordering, empty AuthorizationPolicies and a stray YAML hyphen
    - Helm secrets, migration hooks, and a five-phase rollout for breaking API changes
    - A layered runbook for debugging intermittent 503s

    Chapters
    00:00 Introduction
    00:22 What interviewers are really listening for
    01:31 From kubectl apply to "success"
    03:06 The scheduler and the kubelet
    04:18 Init containers
    05:26 Why migrations belong in an init container
    06:34 Startup, liveness and readiness probes
    08:09 The liveness probe thundering herd trap
    10:04 What a liveness probe should check
    10:53 Startup probes for slow-booting apps
    11:40 The sidecar startup and shutdown race
    12:52 Native sidecars in Kubernetes 1.29
    13:39 Vault injection with a mutating webhook
    14:48 Vault's init and sidecar agents
    15:34 Vault authentication and TokenReview
    16:43 Dynamic database credentials
    17:55 A Postgres quoting trap
    18:44 Zero trust and mutual TLS
    19:52 SPIFFE identities in Istio policies
    20:17 mTLS vs JWT
    20:39 Istio policy traps
    21:46 The alg: none attack and audience checks
    23:20 Service DNS and the phantom ClusterIP
    24:31 iptables vs IPVS and headless services
    25:41 Istio routing and deployment order
    26:29 The YAML hyphen trap
    26:53 Helm versions and secrets
    27:41 Helm migration hooks
    28:04 Five phases for a breaking API change
    29:14 Debugging 503s step by step
    30:00 Matching symptoms to causes
    30:47 Final thought: abstractions leak

    #Kubernetes #DevOps #SRE #CloudNative #Istio #SystemDesign #InterviewPrep

    Interview Prep Podcast
  • Software Engineer Interview Prep Podcast

    Cracking the Senior System Design Interview: RADIO, NFRs, Scale and CAP

    03/10/2026 | 50 mins.
    Senior system design interviews don't test whether you know what a load balancer is. They test how you think under pressure: how you handle ambiguity, weigh brutal trade-offs and defend every box you draw. In this deep dive we unpack the framework used to evaluate senior engineers, architects and principal candidates.

    You'll learn:
    - The RADIO framework (Requirements, API, Data model, Infrastructure, Optimize) and how to split your 45 minutes
    - The one question that instantly signals seniority
    - REST vs gRPC, API versioning, and why offset pagination breaks at scale
    - Choosing a database by access pattern, and justifying every component with the NFRs
    - Why skipping non-functional requirements is the number one reason senior candidates fail
    - Peak vs average TPS, P99 tail latency, latency budgets, RPO and RTO, and compliance
    - Sticky sessions, sharding, hot shards, read replicas, CQRS and event streaming
    - The math of the nines, active-active vs active-passive, circuit breakers, bulkheads and graceful degradation
    - Exponential backoff with jitter to survive the thundering herd
    - The CAP theorem, the consistency spectrum, and why banks must choose CP to prevent double spending

    Chapters
    00:00 Introduction
    00:49 They test judgement, not definitions
    02:22 The roadmap
    03:36 The RADIO framework
    04:47 Requirements in five minutes
    06:00 The seniority signal
    06:47 API design and versioning
    08:20 Offset vs cursor pagination
    09:05 Choosing the data model
    10:18 Justifying infrastructure with NFRs
    11:28 Network boundaries
    11:50 Attacking your own design
    12:39 Observability and cost
    14:37 The URL shortener trap
    15:23 The NFR cheat sheet
    15:46 Peak vs average traffic
    16:33 Tail latency and fan-out
    17:44 Latency budgets
    19:16 RPO and RTO
    20:02 Compliance: GDPR, PCI DSS, SOX
    21:37 Scaling out and sticky sessions
    23:13 Sharding and the hot shard
    24:49 Cross-shard query trade-offs
    25:58 Read replicas and replication lag
    27:08 CQRS
    28:41 Event streaming and idempotency
    31:02 The nines of availability
    33:04 Active-active vs active-passive
    34:37 Circuit breakers
    36:09 Bulkheads
    37:18 Graceful degradation
    38:26 Thundering herd, backoff and jitter
    40:25 The CAP theorem
    43:09 The consistency spectrum
    45:32 The FinTech exception: double spending
    47:05 Why a rejected transaction beats a duplicate
    48:13 Recap: every design is a trade-off
    49:23 Final thought

    #SystemDesign #SoftwareEngineering #DistributedSystems #InterviewPrep #TechInterviews #SoftwareArchitecture

    Interview Prep Podcast
  • Software Engineer Interview Prep Podcast

    Kafka in Production: Failure Scenarios for Staff-Level Interviews

    03/10/2026 | 1h
    A single misconfigured setting in Kafka doesn't just slow a page down. It can silently vaporize financial transactions. In this deep dive we walk through real production failure scenarios and the exact reasoning interviewers look for in staff-level system design interviews.

    You'll learn:
    - Why acks=1 loses data, and the four configuration layers for zero data loss
    - Consistency vs availability: why a healthy cluster refuses writes on purpose
    - Pushing from 400,000 to 2 million events/s with batching, linger.ms and compression
    - How retries reorder a debit and a credit, and how idempotent producers fix it
    - Rebalance storms, cooperative sticky assignment and static membership
    - Hot partitions and the irreducible trade-off between ordering and scale
    - How deleting and recreating a topic silently skips hours of data
    - A 3 AM role-play: 85 under-replicated partitions, a disk at 96%, and why you never restart the broker
    - Exactly-once with Kafka transactions, and exactly-once into PostgreSQL
    - Tiered retry topics and dead letter queues
    - Split brain, KRaft quorums and vanishing tombstones
    - System design at scale: multi-tenant topics, quotas, event-driven sagas and change data capture with Debezium

    Ideal for backend and platform engineers preparing for senior and staff-level interviews.

    Chapters
    00:00 Distributed systems have no X-ray
    01:08 Why Kafka interviews matter
    02:19 acks=1 and the 200 missing payments
    03:27 Four layers of zero data loss
    05:21 The CAP theorem trade-off
    06:31 Throughput: taxis vs buses
    07:42 batch.size, linger.ms and compression
    09:38 When retries reorder messages
    11:38 Idempotent producers
    12:48 Message keys and partition ordering
    13:12 Flash sale: buffer exhausted
    14:22 Decoupling with a local buffer and circuit breaker
    16:18 Rebalance storms
    18:13 Eager vs cooperative sticky rebalancing
    19:25 Static group membership
    20:12 Hot partitions and the hot key problem
    23:18 Silent data loss after recreating a topic
    25:20 auto.offset.reset and topic versioning
    26:08 3 AM: 85 under-replicated partitions
    28:54 Why you never restart the broker
    29:42 Disk at 96%: the 15-minute response
    31:36 Throttled reassignment, Cruise Control, tiered storage
    33:36 Duplicates in consume-transform-produce
    34:47 Kafka transactions
    37:11 Exactly-once into PostgreSQL
    39:56 Head-of-line blocking from retries
    41:08 Tiered retry topics and DLQs
    42:42 Split brain
    44:38 KRaft and quorum math
    45:27 Log compaction tombstones
    48:33 Multi-tenant topic design
    50:07 Tenant tiers and client quotas
    51:40 Event-driven sagas
    53:15 Compensating transactions
    54:51 Change data capture with Debezium
    57:13 Recap
    58:46 Will offsets still matter in five years?

    #Kafka #SystemDesign #DistributedSystems #SoftwareEngineering #InterviewPrep #BackendEngineering

    Interview Prep Podcast
More Courses podcasts
About Software Engineer Interview Prep Podcast
Ace your Software Engineer interviews with confidence. This podcast helps you organize your thinking, strengthen problem-solving skills, and prepare effectively for real technical interviews. Topics covered include: Programming (Java & Python) Data Structures & Algorithms System Design AI for Software Engineers Interview strategies & mindset Whether you're targeting Big Tech, startups, or senior engineering roles, each episode helps you think clearly, solve better, and perform at your best.
Podcast website

Listen to Software Engineer Interview Prep Podcast, Astronomy 161 - Introduction to Solar System Astronomy - Autumn 2007 and many other podcasts from around the world with the radio.net app

Get the free radio.net app

  • Stations and podcasts to bookmark
  • Stream via Wi-Fi or Bluetooth
  • Supports Carplay & Android Auto
  • Many other app features