Commonly asked System Design CONCEPT BASED interview topics -
1. Horizontal vs Vertical Partitioning:
Vertical partitioning splits tables by columns, often separating different features. Horizontal partitioning splits tables by rows, distributing data across multiple servers. Vertical organizes data logically, while horizontal improves scalability + performance.
2. Apache Kafka:
Kafka is a distributed streaming platform using a publish-subscribe model. It's fast due to the sequential disk I/O, zero-copy principle, and efficient batching of messages.
3. Rate Limiter:
A rate limiter controls the rate of requests a client can make to a service. It prevents overload and ensures fair resource usage.
4. JWT vs OAuth vs SAML:
JWT is a compact, self-contained token for secure information transmission. OAuth is an authorization framework for delegated access. SAML is an XML-based standard for exchanging authentication and authorization data.
5. Single Sign-On (SSO):
SSO allows users to access multiple applications with one set of credentials. It typically uses a central authentication server and protocols like SAML/OAuth.
6. Microservices vs Monolithic Architecture:
Microservices architecture breaks an application into small, independent services. Monolithic architecture is a single, tightly-coupled unit. Microservices offer scalability while monoliths are simpler to develop + deploy.
7. Reverse Proxy vs Forward Proxy:
A reverse proxy sits in front of web servers, forwarding client requests to backend servers. A forward proxy sits in front of clients, forwarding their requests to the internet. Reverse proxies are used for load balancing and security, while forward proxies are used for anonymity and filtering.
8. CAP Theorem:
The CAP theorem states that a distributed system can only provide two of three guarantees: Consistency, Availability, and Partition tolerance. In practice, partition tolerance is necessary, so systems must choose between consistency and availability during network partitions.
10. Efficient Caching Strategy:
Implement multi-level caching (browser, CDN, application server, database). Use appropriate cache invalidation strategies (TTL, event-based). Consider cache coherence for distributed systems.
Best DSA RESOURCES: https://topmate.io/coding/886874
All the best 👍👍
Post #2285
1.21K
- ❤ 5