Backend engineer roadmap from zero to one.
- ⭐ (Beginner)
- ❄️ (Intermediate)
- 🔥 (Advanced)
- Big O(n) Notation
- Algorithm
- Data Structure
- Software Architecture
- Programming Language
- Database
- Protocol
- Test
- Distributed System
- DevOps
- Security
- Bonus
- O(1) ⭐
- O(n) ⭐
- O(log n) 🔥
- O(n log n) 🔥
- O(n^2) ⭐
- Recursion ⭐
- Search
- Linear Search ⭐
- Binary Search ⭐
- Tree Traversal ⭐
- Sort
- Bubble Sort ⭐
- Quick Sort ❄️
- Merge Sort ❄️
- Sliding Window ❄️
- Two Pointer ❄️
- Greedy 🔥
- BFS & DFS 🔥
- Dynamic Programming 🔥
- Backtracking 🔥
- Array ⭐
- LinkedList ⭐
- Single LinkedList
- Double LinkedList
- Circular LinkedList
- Stack ⭐
- Queue ⭐
- Tree ❄️
- Tree
- Binary Tree
- Binary Search Tree
- Heap
- Graph 🔥
- Hash 🔥
- Bloom Filters 🔥
- Paradigm ⭐
- Object Oriented Programming
- Encaptulation
- Abstraction
- Inheritance
- Polymorphism
- Functional Programming
- Object Oriented Programming
- Principle ❄️
- SOLID Principle
- Clean Architecture
- Design Pattern 🔥
- Creational
- Factory
- Builder
- Singleton
- Prototype
- Behavioral
- Observer
- Iterator
- Strategy
- Command
- Structural
- Adapter
- Facade
- Bridge
- Composite
- Creational
- Architecture
- Concurrencies & Parallelism 🔥
- Multithreading & Multiprocessing 🔥
-
Golang
- Basic syntax ⭐
- Struct
- Pointer
- Defer Recover
- I/O
- Reader ⭐
- Writer ⭐
- Stream 🔥
- Concurrency
- Goroutine ⭐
- Channel ❄️
- Select ❄️
- Sync Package ❄️
- Wait group
- Mutex
- Low Level 🔥
- Garbage collector
- Context switching
- Go runtime scheduler
- Goroutine queues
- Stealing work
- Basic syntax ⭐
-
NodeJS
- Basic syntax ⭐
- Closure
- Interpolation
- I/O
- Reader ⭐
- Writer ⭐
- Stream 🔥
- Concurrency
- Promise ⭐
- Clustering 🔥
- Child process 🔥
- Low Level 🔥
- Event queue
- Event loop
- Thread pool
- Callback
- Promise
- Basic syntax ⭐
- Principle ❄️
- Transaction Isolation Level ❄️
- Serializable
- Repeateble Read
- Read Commited
- Read Uncommited
- Optimization
- Indexing 🔥
- Replication ❄️
- Sharding 🔥
- Type
- Logical
- Physical
- Strategy
- Algorithmic
- Dynamic
- Hash
- Basic Hashing
- Geo Hashing
- Consistent Hashing
- Type
- Type
- SQL ⭐
- Postgres
- MySQL
- No SQL 🔥
- MongoDb
- Elastic Search
- Cassandra
- Scylla
- Memory ⭐
- Redis
- Memcached
- Distributed 🔥
- Debezium
- SQL ⭐
- TCP / UDP ❄️
- HTTP ⭐
- Rest API ⭐
- Grpc ❄️
- Websocket 🔥
- Graphql ❄️
- Webhook ❄️
- Sftp ⭐
- Pattern ❄️
- Ambassador
- Kubernetes Envoy
- Circuit Breaker
- CQRS
- Event Sourcing
- Leader Election
- Zookeper
- Sharding
- Ambassador
- Microservices
- Monolith ⭐
- API Driven ⭐
- Event Driven 🔥
- Stream
- Queue
- Rabbit MQ
- Database 🔥
- CAP theorem
- Eventually Consistency
- Connection Pool
- Race Condition 🔥
- Optimistic Locking
- Pessimistic Locking
- Load Balancer ❄️
- Round robin
- Worker pool
- Thorttling 🔥
- Rate Limiter
- Circuit Breaker
- Fusing 🔥
- Request Coalescing
- Idempotency
- Batch Processing
- Logging ⭐
- Datadog
- Logstash
- Monitoring & Alerting 🔥
- Prometheus
- Grafana
- Pyroscope
- Tracking 🔥
- Open Telemetry
- Zipkin
- Jeager
- Unit Test ⭐
- Functional Test
- Integration Test ⭐
- Scaling ⭐
- Vertical
- Horizontal
- Load Balancer ⭐
- CDN (Content Delivery Network) ⭐
- TCP ⭐
- IP Address ⭐
- DNS ⭐
- Proxy & Reverse Proxy ⭐
- SSL, TLS, HTTPS ❄️
- Container
- Docker ⭐
- Kubernetes 🔥
- CI/CD
- Jenkins ❄️
- Ops 🔥
- Git flow
- Serverless 🔥
- Authentication ⭐
- Authorization ⭐
- Oauth2 ⭐
- CSRF ⭐
- XSS ⭐
- Validation ⭐
- Encryption ❄️
- System Design
- Uber System Design | Ola System Design | System Design Interview Question - Grab, Lyft
- Basic System Design for Uber or Lyft | System Design Interview Prep
- Design Twitter - System Design Interview
- System Design for Twitter (Timeline, Live Updates, Tweeting) | System Design Interview Prep
- Designing INSTAGRAM: System Design of News Feed
- Facebook System Design | Instagram System Design | System Design Interview Question
- Behavioral
- References
- Summaries
- Tell me about yourself
- How persuade someone
- Simple solution to a complex problem
- Challanging project
- Failed at work
- Difficult decision
- Resolve conflict with team
- Why interest in company
- What you recently learn
Your contributions are always welcome.