Interview Q&A / System Design
System Design interview questions
Caching, scaling, databases and classic design problems for beginners.
Prefer rapid revision? Practise System Design short interview answers →
- How do you version a public API without breaking existing clients?
Put the version in the URL (/v1/) or a header, never change the meaning of existing fields, add new fields as optional, and announce deprecations with a long sunset period. Prefer additive changes so versions are rarely needed.
IntermediateQuick answer1 min read - When would you use gRPC instead of REST?
Use gRPC for fast, strongly typed communication between internal services and for streaming. It uses HTTP/2 and Protocol Buffers, which are compact and quick, but browsers and public clients find REST easier.
IntermediateQuick answer1 min read