Interview Concepts
Interview Concepts
Java Back-end
LLD Topics:
------------
Youtube Playlist: https://lnkd.in/dJkgzKxf
Udemy course: https://lnkd.in/gtBEC7eM
1. Solid Principles, 🔥
2. Strategy Design Pattern,
3. Design Notify Me, Observer pattern,
4. Decorator Pattern,
5. Factory Pattern,
6. Abstract Factory Pattern,
7. LLD of Parking Lot,🔥
8. LLD of Snake and Ladder, 🔥
9. LLD of Elevator System, 🔥
10. LLD of Car Rental System, 🔥
11. LLD of Logging System, Chain of Responsibility,
12. Design Tic-Tac-Toe,
13. Proxy Design Pattern,
14. LLD of BookMyShow, 🔥
15. Null object Pattern,
16. Design Vending Machine,🔥
17. LLD of ATM,🔥
18. Design Chess Game,🔥
19. Design File System,
20. Adapter Design Pattern,
21. LLD Of Splitwise, 🔥
22. Splitwise Simplification Algorithm
23. Builder Design Pattern
24. LLD of Cricbuzz🔥
25. Facade Design Pattern
26. Bridge Design Pattern
27. LLD of Zepto
28. Flyweight Design Pattern
29. Command Design pattern
30. Iterative Design Pattern
31. Mediator Design Pattern
32. Visitor Design Pattern
33. Memento Design Pattern
34. MVC Design Pattern
35. LLD of Apply Coupon code system
36. LLD of Payment Gateway System
37. Object Pool Design Pattern
HLD Topics:
--------------
Youtube Playlist: https://lnkd.in/d8eDwYVA
Udemy course: https://lnkd.in/gZwTudYq
1. Network Protocols
2. Cap Theorem 💥
3. Microservices Design Pattern
4. Scale from 0 to Millions Users💥
5. Consistent Hashing💥
6. Design URL Shortening💥
7. Back of the Envelope Estimation
8. Design Key Value Store
9. SQL vs NoSQL💥
10. WhatsApp System Design💥
11. Design Rate Limiter
12. Zoom Video Calling App System Design
13. Design Idempotent POST API
14. Design High Availability System
15. Design Kafka (Messaging Queue) 💥
16. Proxy vs Reverse Proxy
17. Load Balancer and its algo
18. Distributed Caching
19. Distributed Transaction
20. Database Indexing💥
21. Distributed Concurrency Control💥
22. Distributed Locking
23. OAuth 2.0 💥
24. Symmetric and Asymmetric Encryption
25. JWT Explained
26. API Gateway 💥
27. Microservices Architecture
28. Services Mesh
29. DNS💥
Ad click aggregation system
1. Top 10 songs played on spotify (top-k problem)
2. Design web crawler
3. Design a system to store images for FB and insta that would require 1000 uploads per sec and
handle duplication.
4. Deisgn online chess
5. Design whatsapp
6. Design price alert system similar to camelcamelcamel.com
7. Design proximity server.
8. Design YouTube.
9. Design the Facebook post privacy functionality. In other words, if I make a Facebook post, and
I have 3 privacy options to choose from (Only Me, Friends Only, Public), design how wold you
get the visibility for any Faceook user (ie. can a FB user see the post or not)
10.Design an online judge like leetcode.
Infra
messaging system 2
Design something similar to Instagram reels.
Design Instagram upload and feed service 2
Design Leetcode Judging System 3
cloud sharing
Top k frequently played songs for an apple music like service.
Ad aggregator 2
Web crawler (Slight variation) 2
Job scheduler
System to store and search (query) through facebook status updates.
System to store and search (query) through facebook status updates. These are text based
updates.
Ticket booking workflow. Really deep dives into concurrency control and race condition
resolutions.
Product
design facebook newsfeed 2
Design a leetcode Product
"Design a File/Folder Sync app (like Drive and dropbox)
Focused more on the API design and the schema table design went Alright"
design a version of a ticket buying application (ie/ Ticketmaster)
Java Topics:
------------
Youtube Playlist: https://lnkd.in/dUNA6vsU
Udemy course: https://lnkd.in/gkq4nRe9
- Fundamentals: 4 pillars
- Procedural vs OOPs
- JDK vs JRE vs JVM
- Classes
- Variables
- String Pool
- String Immutability
- Access Specifiers
- Type Casting
- Overloading and Overriding
- Pass by value vs pass by reference
- Garbage Collector
- Understand Constructor
- Operators
- Control Flow Statements
- Multithreading
- Exception Handling
- Generic Programming
- Collections
- Functional Interface
- Lambda Expression
- Stream APIs
80% of concepts and topics frequently asked about system design are based on 20% of these
problems. I would recommend having a strong understanding of these if you've got an
upcoming interview:
📌 Data Structures:
Arrays, Linked Lists, Hash Tables, Trees (BST, AVL), Graphs, Queues, Stacks
📌 Algorithms:
Sorting (Quick, Merge), Searching (Binary Search), Graph Traversals (BFS, DFS), Dynamic
Programming, Complexity Analysis (Big O)
📌 Design Patterns:
Singleton, Factory, Observer, Builder, Adapter, Strategy
📌 Data Pipelining:
Apache Kafka, ETL Processes, Apache Airflow, Batch vs. Real-time processing
📌 Version Control:
Git Workflow, Branching Strategies (Git Flow, GitHub Flow), Merge vs. Rebase
📌 CI/CD:
GitHub Actions, Jenkins, Docker, Kubernetes, Automated Testing & Deployment
📌 Cloud Services:
AWS (EC2, S3, Lambda, RDS), GCP (Compute Engine, Cloud Storage, BigQuery), Azure (App
Service, Cosmos DB, Functions)
► Scalability
↳https://lnkd.in/gjS6wgaW
↳https://lnkd.in/g7Ubkt2p
►Load Balancing
↳https://lnkd.in/gXHwMtWE
↳https://lnkd.in/gEcr53sX
► Microservices Architecture
↳https://lnkd.in/gECnvWpW
🔹 1. Microservices Architecture
Understand why microservices work better than monoliths. Learn about independence,
scalability, and resilience, and use Domain-Driven Design (DDD) to define service boundaries.
🔹 2. Service Communication
Know when to use REST/gRPC (synchronous) vs. Kafka/RabbitMQ (asynchronous). Master
event-driven architecture and proper API versioning to avoid breaking changes.
🔹 3. Data Management Strategies
Microservices don’t share databases! Learn database-per-service, Saga patterns, CQRS, and
strategies for handling distributed transactions.
🔹 7. Database Choices
Understand when to use SQL (PostgreSQL, MySQL) vs. NoSQL (MongoDB, Cassandra).
Optimize performance with Redis or Memcached caching.
🔹 8. CI/CD Pipelines
Automate everything using Jenkins, GitHub Actions, or GitLab CI. Use Blue-Green & Canary
deployments for zero-downtime releases.
1. RabbitMQ
🔎Overview: RabbitMQ is an open-source message broker that uses the Advanced Message
Queuing Protocol (AMQP). It supports multiple messaging protocols and is known for its
flexibility and ease of use.
🔦Key Features:
✅Reliable messaging with acknowledgments and persistent messages.
✅Flexible routing capabilities through exchanges.
✅Support for multiple programming languages.
✅Strong community support and extensive documentation.
2. Apache Kafka
🔎Overview: Kafka is a distributed streaming platform designed for high-throughput, fault-
tolerant messaging. It's primarily used for building real-time data pipelines and streaming
applications.
🔦Key Features:
✅High throughput and scalability, capable of handling large volumes of data.
✅Durability through distributed log storage.
✅Supports stream processing through Kafka Streams.
✅Integration with various big data tools and systems.
3. ActiveMQ
🔎Overview: ActiveMQ is an open-source message broker that supports the Java Message
Service (JMS) and multiple protocols. It's widely used in enterprise environments.
🔦Key Features:
✅Supports various messaging protocols (AMQP, MQTT, STOMP, etc.).
✅Provides both point-to-point and publish-subscribe messaging models.
✅Offers features like message persistence, transactions, and security.
✅Good integration with Java applications and enterprise frameworks.
4. IBM MQ
🔎Overview: IBM MQ (formerly known as WebSphere MQ) is a robust message broker designed
for enterprise-level applications, offering high reliability and security.
🔦Key Features:
✅Strong support for transactional messaging.
✅Built-in security features, including encryption and authentication.
✅Integration with IBM's ecosystem and other enterprise systems.
✅Support for a variety of programming languages and platforms.
5. NATS
🔎Overview: NATS is a lightweight, high-performance messaging system designed for cloud-
native applications and microservices architectures.
🔦Key Features:
✅Simple design with a focus on performance and low latency.
✅Supports publish-subscribe and request-reply messaging patterns.
✅Easy to deploy and manage with minimal configuration.
✅Built-in clustering and support for distributed systems.
ll
3. Computer Networks
- OSI & TCP/IP Models
- LAN, WAN, MAN
- IP Addressing (IPv4, IPv6)
- Routing Techniques (Unicast, Multicast)
- Protocols (HTTP/HTTPS, TCP/UDP, DNS)
- Data Link Layer (MAC Address, CSMA/CD)
- Transport Layer (TCP Congestion Control)
4. System Design
- Load Balancing & Caching
- Microservices & API Design
- Database Sharding
- CAP Theorem
- Distributed Systems (Eventual Consistency, Replication)
7. Memory Management
- Stack vs Heap Memory
- Garbage Collection
- Memory Leaks & Prevention
- Page Replacement Algorithms
8. Security Fundamentals
- Encryption (SSL/TLS)
- OAuth, JWT
- Authentication & Authorization
- Common Vulnerabilities (SQL Injection, XSS)