System Design course menu
System Design Interview Questions for Beginners
Beginner system design interview questions with answers: scaling, load balancers, caching, SQL vs NoSQL, CDN, availability, latency, stateless servers and basic design steps.
On this page
- 1. What is system design?
- 2. What is the difference between functional and non-functional requirements?
- 3. What is the difference between vertical and horizontal scaling?
- 4. What does a load balancer do?
- 5. What is a cache?
- 6. What is a CDN?
- 7. When would you choose SQL over NoSQL?
- 8. What is latency, and what is throughput?
- 9. What is availability?
- 10. What is a single point of failure?
- 11. What is a stateless server?
- 12. What is a database index?
- 13. What is database replication?
- 14. What is sharding?
- 15. What is a message queue?
- 16. What is the difference between authentication and authorisation?
- 17. What is an API gateway?
- 18. What is the difference between a monolith and microservices?
- 19. What is rate limiting?
- 20. What are the first steps when you are given a design question?
These questions check that you know the basic ideas and vocabulary. Practise answering aloud in two or three sentences.
1. What is system design?#
Show solution
Deciding how the parts of a software system fit together, so that it meets its requirements for features, scale, reliability and cost.
2. What is the difference between functional and non-functional requirements?#
Show solution
Functional requirements say what a system does, such as sending a message. Non-functional requirements say how well it does it, such as latency, availability and scale.
3. What is the difference between vertical and horizontal scaling?#
Show solution
Vertical scaling uses a bigger machine, and has a hard limit. Horizontal scaling adds machines, which needs stateless servers, but it scales further and gives redundancy.
4. What does a load balancer do?#
Show solution
It spreads requests across servers, removes unhealthy ones using health checks, and hides individual servers from clients.
5. What is a cache?#
Show solution
Fast storage for a copy of data, which reduces latency and load on the database. Redis is a common example.
6. What is a CDN?#
Show solution
A network of servers around the world that keeps copies of files, so that users download from somewhere nearby.
7. When would you choose SQL over NoSQL?#
Show solution
When you have relationships, need joins and transactions, or have unpredictable queries. Choose NoSQL for a specific access pattern, such as simple key lookups at a huge scale.
8. What is latency, and what is throughput?#
Show solution
Latency is how long one request takes. Throughput is how many requests are handled per second.
9. What is availability?#
Show solution
The share of time a system is working. 99.9% allows about 8.8 hours of downtime a year.
10. What is a single point of failure?#
Show solution
A part whose failure stops the whole system. Remove it with redundancy.
11. What is a stateless server?#
Show solution
One that keeps no user data between requests, so that any server can handle any request. Sessions go in shared storage.
12. What is a database index?#
Show solution
A structure, usually a B-tree, that speeds up lookups, at a small cost to writes and storage.
13. What is database replication?#
Show solution
Keeping copies of data on several servers, for more read capacity and availability.
14. What is sharding?#
Show solution
Splitting data across several databases, each holding a part, so that the system can handle more writes and more data.
15. What is a message queue?#
Show solution
A buffer between services. A producer adds work, and workers process it later, which makes responses faster and absorbs traffic spikes.
16. What is the difference between authentication and authorisation?#
Show solution
Authentication checks who you are, and authorisation checks what you are allowed to do.
17. What is an API gateway?#
Show solution
A single entry point for clients, which handles routing, authentication and rate limits.
18. What is the difference between a monolith and microservices?#
Show solution
A monolith is one deployable application. Microservices are small services deployed separately, which helps large teams, but it costs more to run.
19. What is rate limiting?#
Show solution
Restricting how many requests a client can make in a period, to stop abuse and protect services.
20. What are the first steps when you are given a design question?#
Show solution
Clarify requirements, estimate scale, define the API and data model, then draw a simple design and improve it.
Next: Intermediate Questions.
Finished this lesson?
Related lessons
Recommended System Design resources
- System Design Interview by Alex Xu
Step-by-step walkthroughs of common design questions, for interview preparation.
Some links are affiliate links. If you buy through them, Laviyx Learn may earn a commission at no extra cost to you. As an Amazon Associate, we earn from qualifying purchases.