- HTTP/HTTPS (deep level)
- TCP/IP, DNS, TLS
- REST vs GraphQL
- WebSockets
- Serialization (JSON, Protobuf)
0.1% level:
- How TCP handshake works
- How latency happens
- How packets move in real networks
- Processes vs Threads
- Memory (heap, stack)
- Virtual memory
- Context switching
- File systems
- Scheduling algorithms
Real skill:
Understanding how your code actually runs on machine
- Event Loop (Node.js )
- Threads vs async
- Locks, Mutex, Semaphores
- Race conditions
- Deadlocks
0.1%:
- Designing non-blocking systems
- Avoiding performance bottlenecks
- Load balancing
- Reverse proxy
- CDN
- NAT
- Firewalls
Tools to know:
- NGINX
- HAProxy
- Indexing
- Joins
- Transactions
- Isolation levels
- Key-value
- Document DB
- Column DB
Tools:
- PostgreSQL
- MongoDB
- Redis
0.1%:
- Query optimization
- Data modeling at scale
- Scalability (horizontal vs vertical)
- Caching strategies
- Rate limiting
- Queue systems
- Idempotency
- CAP theorem
Tools:
- Apache Kafka
- RabbitMQ
- Consistency models
- Replication
- Partitioning
- Leader election
- Fault tolerance
Concepts:
- Eventual consistency
- Consensus algorithms (Raft, Paxos)
(Not just knowing — knowing WHEN to use)
- EDA
- Microservices
- Monolith
- CQRS
- Event Sourcing
- Authentication & Authorization
- SQL Injection
- XSS, CSRF
- HTTPS internals
- Hashing (bcrypt)
- Profiling
- Benchmarking
- Memory leaks
- CPU vs I/O bottlenecks
- Unit testing
- Integration testing
- Load testing
- Chaos engineering
- CI/CD pipelines
- Containers
- Orchestration
Tools:
- Docker
- Kubernetes
- Logging
- Monitoring
- Tracing
Tools:
- Prometheus
- Grafana
- Reading source code (Node.js, DB engines)
- Understanding trade-offs
- Debugging production issues
- Writing clean, maintainable code
- Thinking in systems, not just code
You don’t need 100 things.
👉 You need:
- Deep understanding of fundamentals
-
- ability to connect concepts
- JS + Backend basics
- HTTP + DB
- OS + Networking
- Concurrency
- System Design
- Distributed Systems
- Performance + Internals