guys who work from home, how do you socialize?
I haven’t made a single friend after school. I rarely go out, and even when I do, I mind my own business and everyone is on phone so I don’t feel like talking to them anyway.
All you need to launch a real product:
1. Auth (signup, login, logout)
2. Database (store user actions)
3. Payments (get paid)
4. Security (protect your data)
5. Frontend (UI/UX)
6. Backend (APIs and logic)
7. Notifications (email, push)
8. Analytics (track usage)
This is the groundwork. Don’t skip it.
80% of System Design Interviews are based on 20% of the problems.
Here is what you need to master.
1. Scalable Data Storage
• Relational vs. NoSQL: Know when to use SQL vs. NoSQL databases.
• Partitioning: Vertical and horizontal partitioning (sharding). Understand trade-offs.
• Indexing: Covering indexes, primary vs. secondary indexes.
• Consistency Models: Strong, eventual, causal.
2. Caching
• Client-side vs. Server-side Cache: Understand where caching should happen.
• Caching Strategies: Write-through, write-back, write-around.
• Distributed Cache: Redis, Memcached.
• Cache Eviction Policies: LRU, LFU, etc.
3. Load Balancing
• Horizontal Scaling: Why and how to horizontally scale services.
• Load Balancing Techniques: Round-robin, consistent hashing.
• Reverse Proxy: Understand how to use Nginx, HAProxy.
4. Asynchronous Processing
• Message Brokers: Kafka, RabbitMQ. When to use queues vs. streams.
• Event-Driven Architecture: Benefits of decoupling and event sourcing.
• Task Queues: For delayed jobs or retries.
5. Database Read and Write Scaling
• Read Scaling: Master replication, read replicas.
• Write Scaling: Challenges with partitioning for writes, leader-election.
• CAP Theorem: Consistency, Availability, or Partition tolerance may be compromised.
6. Distributed Systems Concepts
• Consensus Algorithms: Paxos, Raft.
• Conflict Resolution: Last Write Wins, CRDTs, vector clocks for data reconciliation.
7. Reliability and Failover
• Redundancy: Active-passive vs. active-active configurations.
• Health Checks.
• Retries and Circuit Breakers: How to protect systems from cascading failures.
8. CDNs (Content Delivery Networks)
• Static Content Delivery: Why use a CDN, how does it work?
• Caching at the Edge: How CDNs improve latency for end users.
9. API Design and Rate Management
• REST vs. GraphQL: Difference and practical use-cases for each.
• Pagination and Filtering: Strategies for efficiently fetching data.
• API Versioning: Best practices for evolving APIs.
• Throttle Requests: Why rate limiting is essential, algorithms like token bucket, leaky bucket.
10. Search Systems
• Indexing: Building and maintaining indexes for fast search.
• Full-Text Search Engines: ElasticSearch, Azure AI Search.
• Ranking and Relevance: Basic understanding of how scoring works.
11. Monitoring, Observability and Security
• Metrics Collection: Prometheus, Grafana.
• Distributed Tracing: OpenTelemetry, Sentry.
• Centralized Logging.
• Authentication and Authorization: OAuth, JWT.
• Encryption: Data in transit vs. data at rest.
If you master these 13 areas, you'll be ready for most system design interviews thrown at you.
Add more if you can 👇
I’m 34.
When I was young, I wasted years and opportunities not knowing what great leadership looked like.
Learn from my mistakes.
21 clear signals you have a great leader:
I think, for everyone there comes a period in his life where he/she needs to get out of comfort zone and put in extra efforts.
Be it 11-12th.
If not in 11 or 12, then in college, no matter which tier it is.
If not in college, then after graduating.
But that extra effort is needed.
P.S. I graduated from a tier 3 college. But my pay is multiple times my college fees.
3 DRY principles of React:
- When a jsx code is repeating, create a component and reuse it.
- When a logic is repeating and that logic doesn't contain hooks, create a utility function to reuse it.
- When a logic containing hooks is repeating, create a custom hook to reuse it.