10 questions · STAR-scored

Software Engineer Interview Questions

The questions software engineers actually get asked — with STAR-structured sample answers you can rewrite in your voice. Practice the rooms before you're in them.

The questions

1
Behavioral
Tell me about a system you designed end-to-end. What were the tradeoffs?
Show sample answer

Situation: Our order-fulfilment service was a Rails monolith hitting p99 of 1.2s. Task: Owners wanted sub-300ms while supporting 4× traffic. Action: I led the decomposition into 4 services, chose Postgres CDC over Kafka-direct for the inventory bus, and rolled it out behind feature flags over 6 weeks. Result: p99 dropped to 240ms, zero incidents in the cutover, infra cost stayed flat.

2
Behavioral
Describe a production incident you owned. What did you change after?
Show sample answer

S: A noisy-neighbour ECS task in the checkout cluster caused a 14-minute partial outage. T: Restore + ensure it doesn't recur. A: Restored via task-restart, then I built circuit-breaker around the downstream call, added CPU-throttling at the task definition, and ran a chaos-engineering test the following sprint. R: Same fault pattern auto-recovers now in <30s.

3
Behavioral
How do you decide what to write tests for vs ship as is?
Show sample answer

S: Always a tension between coverage and velocity. T: My heuristic. A: Anything touching money, auth, or user-visible state gets unit + integration. Read-only fetch endpoints get integration only. UI gets snapshot + critical-flow Cypress. R: Team kept 4-week release cadence with <1 prod bug per release on average.

4
System design
Walk me through how you'd build a URL shortener (like bit.ly).
Show sample answer

Start with single Postgres + base62-encoded auto-increment IDs. Add a write-through cache (Redis) for hot URLs. Front it with a stateless API behind ALB. Once you cross ~10k QPS, partition Postgres by hash(short_code), move to CockroachDB or aurora-global if multi-region. Counters via approximate (HyperLogLog) to avoid hot-key writes.

5
System design
Design Twitter's home timeline.
Show sample answer

Hybrid push-pull fan-out: push tweets to follower timelines for users with <10k followers; pull on read for celebrities. Timeline cache in Redis. Tweets stored in scalable column store (Cassandra-ish). Background job rebuilds celebrity portions every N min.

6
Technical
What's the difference between SQL and NoSQL in practical terms?
Show sample answer

SQL gives joins + ACID + arbitrary indexes; NoSQL gives horizontal partitioning + flexible schema + eventual consistency. Use SQL when you query data in many ways. Use NoSQL when you scale a known access pattern past one machine's write capacity.

7
Technical
How would you debug a slow database query?
Show sample answer

EXPLAIN ANALYZE first — read the plan. Look for seq scans on large tables, missing indexes, or hash joins on too-large sets. Check pg_stat_statements for the broader load. Often the fix is a covering index or denormalising one hot column.

8
Behavioral
Tell me about a time you disagreed with a tech lead. How did it play out?
Show sample answer

S: Lead wanted to ship a v1 without rate-limiting on a public endpoint. T: Push back without blocking. A: Wrote up the abuse-vector analysis, proposed a 30-min rate-limit middleware. R: Lead agreed once the abuse cost was clear; we shipped on schedule.

9
Behavioral
Explain a recent technical thing you learned and why it mattered.
Show sample answer

Studied edge-runtime constraints in detail when we migrated route handlers to edge. Discovered Node-only APIs were silently undefined; rewrote crypto + JWT pieces using WebCrypto. Cold-start went 380ms → 45ms globally.

10
Behavioral
How do you onboard a junior engineer?
Show sample answer

Week 1: pair on a small real ticket end-to-end. Week 2: solo PR with my close review. Week 3: their first on-call shadow. Set explicit 30/60/90 goals + 1:1 weekly. Last junior shipped a customer-facing feature in week 6.

How to prepare — the STAR rubric

Every strong behavioral answer follows the same four-part structure: Situation(the context — 2 sentences), Task (what success looked like — 1 sentence),Action (what you actually did, 3-5 specific steps), and Result(the measurable outcome). Most candidates over-invest in Situation and under-invest in Result. The Result is where the interviewer scores you.

Watch-outs specific to software engineer interviews

Run a software engineer mock interview — free.

Voice or text. Per-answer STAR scoring. Saved across devices.

Start free
Continue your Software Engineer prep