Bird
Raised Fist0
HLDsystem_design~12 mins

What high level design encompasses in HLD - Architecture Diagram

Choose your learning style10 modes available
System Overview - What high level design encompasses

High Level Design (HLD) describes the overall structure of a system. It shows how major parts connect and work together to meet key requirements like scalability, reliability, and performance.

HLD focuses on components, their relationships, and data flow without going into detailed code or algorithms.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
+-------------------+
|   Service Layer    |
|  (Multiple Services)|
+-------------------+
  |
  v
Database Cluster <-> Cache Layer
  |
  v
Message Queue (for async tasks)
Components
User
actor
End user who interacts with the system
Load Balancer
load_balancer
Distributes incoming requests evenly to prevent overload
API Gateway
api_gateway
Handles client requests, routing, authentication, and throttling
Service Layer
service
Contains core business logic split into multiple services
Database Cluster
database
Stores persistent data with replication for reliability
Cache Layer
cache
Speeds up data access by storing frequently used data
Message Queue
queue
Handles asynchronous tasks and communication between services
Request Flow - 11 Hops
User → Load Balancer
Load Balancer → API Gateway
API Gateway → Service Layer
Service Layer → Cache Layer
Cache Layer → Service Layer
Service Layer → Database Cluster
Database Cluster → Service Layer
Service Layer → Cache Layer
Service Layer → API Gateway
API Gateway → Load Balancer
Load Balancer → User
Failure Scenario
Component Fails:Database Cluster
Impact:New writes fail and fresh data cannot be retrieved; cache may serve stale data
Mitigation:Use database replication and failover to standby nodes; cache continues serving reads; alert system triggers for manual intervention
Architecture Quiz - 3 Questions
Test your understanding
Which component is responsible for distributing incoming user requests evenly?
ACache Layer
BAPI Gateway
CLoad Balancer
DMessage Queue
Design Principle
High Level Design focuses on defining major system components and their interactions to ensure scalability, reliability, and maintainability without diving into low-level implementation details.

Practice

(1/5)
1. What does a high level design (HLD) primarily show in a system?
easy
A. The user interface colors and fonts
B. The main components and how they connect
C. The detailed database schema
D. The exact code for each module

Solution

  1. Step 1: Understand the purpose of HLD

    HLD focuses on the big picture, showing main parts and their relationships.
  2. Step 2: Differentiate from detailed design

    Detailed code or UI specifics are not part of HLD but come later in design phases.
  3. Final Answer:

    The main components and how they connect -> Option B
  4. Quick Check:

    HLD = Big parts and connections [OK]
Hint: HLD = big parts + connections, not code or UI [OK]
Common Mistakes:
  • Confusing HLD with detailed design
  • Thinking HLD includes UI styling
  • Assuming HLD shows exact code
2. Which of the following is a correct element to include in a high level design document?
easy
A. Component diagrams showing system parts
B. Detailed API code snippets
C. Exact SQL queries for database
D. Pixel-perfect UI mockups

Solution

  1. Step 1: Identify typical HLD contents

    HLD includes diagrams of components and their interactions, not code or UI details.
  2. Step 2: Eliminate incorrect options

    Code snippets, SQL queries, and UI mockups belong to detailed design or implementation.
  3. Final Answer:

    Component diagrams showing system parts -> Option A
  4. Quick Check:

    HLD = component diagrams [OK]
Hint: HLD shows diagrams, not code or UI details [OK]
Common Mistakes:
  • Including code snippets in HLD
  • Confusing HLD with low-level design
  • Adding UI mockups in HLD
3. Given a high level design showing components A, B, and C connected in sequence, what is the most likely data flow?
medium
A. Data flows from A to B to C
B. Data flows from C to B to A
C. Data flows randomly between components
D. No data flows between components

Solution

  1. Step 1: Analyze component connections

    Sequence connection means data moves in order from first to last component.
  2. Step 2: Determine flow direction

    Data flows from A to B to C as per the sequence shown.
  3. Final Answer:

    Data flows from A to B to C -> Option A
  4. Quick Check:

    Sequence = A -> B -> C data flow [OK]
Hint: Follow arrows in sequence for data flow direction [OK]
Common Mistakes:
  • Reversing data flow direction
  • Assuming random data flow
  • Ignoring component connections
4. A high level design diagram shows a database connected directly to the user interface without any backend service. What is the main issue here?
medium
A. Database should connect only to frontend
B. Too many components included
C. Missing backend layer to handle business logic
D. User interface should connect directly to database

Solution

  1. Step 1: Identify missing architectural layer

    Backend services handle logic and security between UI and database.
  2. Step 2: Understand why direct UI to database is bad

    Direct connection risks security and breaks separation of concerns.
  3. Final Answer:

    Missing backend layer to handle business logic -> Option C
  4. Quick Check:

    Backend needed between UI and database [OK]
Hint: UI never connects directly to database [OK]
Common Mistakes:
  • Thinking UI can safely connect to database
  • Ignoring backend role
  • Confusing component count with design quality
5. When creating a high level design for a scalable web application, which of the following should be included?
hard
A. Detailed SQL queries for data retrieval
B. Exact CSS styles for responsive design
C. User passwords and encryption keys
D. Components like load balancers, web servers, and databases with their interactions

Solution

  1. Step 1: Identify scalable system components

    Load balancers, web servers, and databases are key parts for scalability.
  2. Step 2: Exclude irrelevant details

    CSS styles, SQL queries, and sensitive data are not part of HLD.
  3. Final Answer:

    Components like load balancers, web servers, and databases with their interactions -> Option D
  4. Quick Check:

    HLD = scalable components + interactions [OK]
Hint: Include scalable components, exclude code and secrets [OK]
Common Mistakes:
  • Adding UI styles in HLD
  • Including sensitive data in design
  • Confusing HLD with implementation details
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard