start
This is an old revision of the document!
Table of Contents
Engineering Knowledge Tree
This is a structured overview of core engineering knowledge areas. Each section can be expanded into detailed notes.
1. Computer Science Fundamentals
Data Structures
- Array
- Linked List
- Stack
- Queue
- Hash Map / Hash Set
- Tree
- Graph
Algorithms
- Sorting (QuickSort, MergeSort)
- Searching (Binary Search)
- Recursion
- Dynamic Programming
- Graph Algorithms (BFS, DFS, Dijkstra)
Complexity
- Big-O Notation
- Time vs Space Tradeoff
2. Networking & Protocols
OSI Model
- Layer 1: Physical
- Layer 2: Data Link
- Layer 3: Network
- Layer 4: Transport
- Layer 5: Session
- Layer 6: Presentation
- Layer 7: Application
Core Protocols
- TCP vs UDP
- HTTP / HTTPS
- WebSocket
- DNS
- TLS / SSL
- REST vs gRPC
HTTP Versions
- HTTP/1.1
- HTTP/2
- HTTP/3 (QUIC)
Concepts
- Keep-alive connection
- Handshake
- Latency vs Throughput
3. Backend Engineering
API Design
- REST APIs
- GraphQL
Authentication
- Session-based auth
- JWT (JSON Web Token)
- OAuth2
- SSO
Architecture Styles
- Monolith
- Microservices
- Event-driven architecture
Backend Patterns
- MVC (Model View Controller)
- CQRS (Command Query Responsibility Segregation)
- Saga Pattern
4. Distributed Systems
Core Principles
- CAP Theorem
- Consistency
- Availability
- Partition Tolerance
Communication
- Synchronous systems
- Asynchronous systems
Messaging Systems
- Kafka
- RabbitMQ
- Redis Streams
Kafka Concepts
- Topic
- Partition
- Offset
- Consumer Group
System Concepts
- Backpressure
- Replication
- Leader Election
5. Databases
SQL Databases
- Tables, Indexes
- Transactions (ACID)
- Query Optimization
NoSQL Databases
- Document (MongoDB)
- Key-Value (Redis)
- Column (Cassandra)
- Graph Databases
Scaling
- Replication
- Sharding
- Read Replicas
Caching
- Cache Invalidation
- TTL (Time To Live)
- Cache-aside pattern
6. DevOps & Infrastructure
Operating System
- Linux basics
- Process management
- Networking commands
Containers
- Docker
- Kubernetes
CI/CD
- Build pipelines
- Deployment automation
Infrastructure as Code
- Terraform
- CloudFormation
Observability
- Logging
- Metrics
- Distributed Tracing (OpenTelemetry)
7. Cloud Platforms
Compute
- EC2 / Virtual Machines
- Lambda / Serverless
Storage
- S3 / Object Storage
Networking
- VPC
- Load Balancers
Messaging
- SQS
- SNS
Security
- IAM
- Security Groups
8. Software Architecture
Principles
- SOLID Principles
Design Patterns
- Factory
- Singleton
- Strategy
- Observer
System Design Topics
- URL Shortener
- Chat System
- Payment System
- Notification System
Scalability
- Vertical Scaling
- Horizontal Scaling
9. Performance Engineering
- Caching strategies
- Database optimization
- Memory management
- CPU vs I/O bottlenecks
- Load testing
- Profiling & performance tuning
10. Security
Cryptography
- Symmetric encryption
- Asymmetric encryption
- Hashing
Authentication & Authorization
- Identity verification
- Access control
Web Security
- OWASP Top 10
- API security
- CSRF / XSS / SQL Injection
11. Frontend Engineering
- HTML / CSS / JavaScript
- TypeScript
- React / Vue
- State Management
- Browser Rendering Process
- Frontend Performance (LCP, FCP)
12. Messaging & Event Systems
Kafka Deep Dive
- Partitioning strategy
- Consumer groups
- Offset management
RabbitMQ
- Exchanges
- Queues
- Routing keys
Redis Messaging
- Pub/Sub
- Streams
Event Concepts
- Event sourcing
- Eventual consistency
13. Real-world System Design
- E-commerce system
- Chat application
- Payment gateway
- Notification system
- Logging pipeline
14. Engineering Mindset
- Debugging skills
- System thinking
- Trade-off analysis
- Code reading ability
- Refactoring practices
Wiki.Quizz.vn
2024 © Wiki.Quizz.vn Team Wiki.Quizz.vn is developed and operated by a Vietnam-based development team. All rights reserved.
start.1781740925.txt.gz · Last modified: by phong2018
