User Tools

Site Tools


start

This is an old revision of the document!


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