====== Engineering Knowledge Tree ====== This is a structured engineering knowledge map with readable links. ----- ===== 1. Computer Science Fundamentals ===== ==== Data Structures ==== * [[data_structures:array|Array]] * [[data_structures:linked_list|Linked List]] * [[data_structures:stack|Stack]] * [[data_structures:queue|Queue]] * [[data_structures:hash_map|Hash Map / Hash Set]] * [[data_structures:tree|Tree]] * [[data_structures:graph|Graph]] ==== Algorithms ==== * [[algorithms:sorting|Sorting Algorithms]] * [[algorithms:searching|Searching Algorithms]] * [[algorithms:recursion|Recursion]] * [[algorithms:dynamic_programming|Dynamic Programming]] * [[algorithms:graph_algorithms|Graph Algorithms (BFS, DFS, Dijkstra)]] ==== Complexity ==== * [[complexity:big_o_notation|Big-O Notation]] * [[complexity:time_vs_space|Time vs Space Tradeoff]] ----- ===== 2. Networking & Protocols ===== ==== OSI Model ==== * [[networking:osi_model|OSI Model (7 Layers)]] ==== Core Protocols ==== * [[networking:tcp_vs_udp|TCP vs UDP]] * [[networking:http_https|HTTP / HTTPS]] * [[networking:websocket|WebSocket]] * [[networking:dns|DNS]] * [[networking:tls_ssl|TLS / SSL]] * [[networking:rest_vs_grpc|REST vs gRPC]] ==== HTTP Versions ==== * [[networking:http_1_1|HTTP/1.1]] * [[networking:http_2|HTTP/2]] * [[networking:http_3_quic|HTTP/3 (QUIC)]] ==== Concepts ==== * [[networking:keep_alive|Keep-alive Connection]] * [[networking:handshake|Handshake]] * [[networking:latency_vs_throughput|Latency vs Throughput]] ----- ===== 3. Backend Engineering ===== ==== API Design ==== * [[backend:rest_api|REST API]] * [[backend:graphql|GraphQL]] ==== Authentication ==== * [[auth:session_based|Session-based Authentication]] * [[auth:jwt|JWT (JSON Web Token)]] * [[auth:oauth2|OAuth2]] * [[auth:sso|SSO (Single Sign-On)]] ==== Architecture Styles ==== * [[architecture:monolith|Monolith Architecture]] * [[architecture:microservices|Microservices Architecture]] * [[architecture:event_driven|Event-driven Architecture]] ==== Backend Patterns ==== * [[patterns:mvc|MVC Pattern]] * [[patterns:cqrs|CQRS Pattern]] * [[patterns:saga|Saga Pattern]] ----- ===== 4. Distributed Systems ===== ==== Core Principles ==== * [[distributed_systems:cap_theorem|CAP Theorem]] ==== Communication ==== * [[distributed_systems:synchronous_vs_asynchronous|Sync vs Async Communication]] ==== Messaging Systems ==== * [[messaging:kafka|Kafka]] * [[messaging:rabbitmq|RabbitMQ]] * [[messaging:redis_streams|Redis Streams]] ==== Kafka Concepts ==== * [[kafka:topic|Topic]] * [[kafka:partition|Partition]] * [[kafka:offset|Offset]] * [[kafka:consumer_group|Consumer Group]] ==== System Concepts ==== * [[distributed_systems:backpressure|Backpressure]] * [[distributed_systems:replication|Replication]] * [[distributed_systems:leader_election|Leader Election]] ----- ===== 5. Databases ===== ==== SQL ==== * [[database:sql_indexing|SQL Indexing]] * [[database:transactions_acid|ACID Transactions]] * [[database:query_optimization|Query Optimization]] ==== NoSQL ==== * [[database:mongodb|MongoDB]] * [[database:redis|Redis]] * [[database:cassandra|Cassandra]] * [[database:graph_db|Graph Database]] ==== Scaling ==== * [[database:replication|Replication]] * [[database:sharding|Sharding]] * [[database:read_replicas|Read Replicas]] ==== Caching ==== * [[cache:cache_invalidation|Cache Invalidation]] * [[cache:ttl|TTL (Time To Live)]] * [[cache:cache_aside|Cache Aside Pattern]] ----- ===== 6. DevOps & Infrastructure ===== * [[devops:linux_basics|Linux Basics]] * [[devops:docker|Docker]] * [[devops:kubernetes|Kubernetes]] * [[devops:ci_cd|CI/CD Pipeline]] * [[devops:terraform|Terraform]] * [[devops:cloudformation|CloudFormation]] * [[devops:observability|Observability]] ----- ===== 7. Cloud Platforms ===== * [[cloud:ec2|EC2 (Virtual Machines)]] * [[cloud:lambda|AWS Lambda]] * [[cloud:s3|S3 Storage]] * [[cloud:vpc|VPC (Virtual Private Cloud)]] * [[cloud:load_balancer|Load Balancer]] * [[cloud:sqs|SQS Queue]] * [[cloud:sns|SNS Notifications]] * [[cloud:iam|IAM (Identity Access Management)]] ----- ===== 8. Software Architecture ===== * [[architecture:solid_principles|SOLID Principles]] ==== Design Patterns ==== * [[design_patterns:factory|Factory Pattern]] * [[design_patterns:singleton|Singleton Pattern]] * [[design_patterns:strategy|Strategy Pattern]] * [[design_patterns:observer|Observer Pattern]] ==== System Design ==== * [[system_design:url_shortener|URL Shortener System]] * [[system_design:chat_system|Chat System]] * [[system_design:payment_system|Payment System]] * [[system_design:notification_system|Notification System]] ----- ===== 9. Performance Engineering ===== * [[performance:caching|Caching Strategies]] * [[performance:database_optimization|Database Optimization]] * [[performance:memory_management|Memory Management]] * [[performance:cpu_io_bottlenecks|CPU vs I/O Bottlenecks]] * [[performance:load_testing|Load Testing]] * [[performance:profiling|Profiling & Tuning]] ----- ===== 10. Security ===== * [[security:encryption|Encryption]] * [[security:hashing|Hashing]] * [[security:authentication_authorization|Authentication & Authorization]] * [[security:owasp_top_10|OWASP Top 10]] * [[security:api_security|API Security]] * [[security:xss_csrf_sql_injection|XSS / CSRF / SQL Injection]] ----- ===== 11. Frontend Engineering ===== * [[frontend:html_css_js|HTML / CSS / JavaScript]] * [[frontend:typescript|TypeScript]] * [[frontend:react_vue|React / Vue]] * [[frontend:state_management|State Management]] * [[frontend:browser_rendering|Browser Rendering]] * [[frontend:performance_lcp_fcp|Frontend Performance (LCP / FCP)]] ----- ===== 12. Messaging & Event Systems ===== * [[event_systems:kafka_deep_dive|Kafka Deep Dive]] * [[event_systems:rabbitmq|RabbitMQ]] * [[event_systems:redis_pubsub|Redis Pub/Sub]] * [[event_systems:event_sourcing|Event Sourcing]] * [[event_systems:eventual_consistency|Eventual Consistency]] ----- ===== 13. Real-world System Design ===== * [[system_design:ecommerce|E-commerce System]] * [[system_design:chat_app|Chat Application]] * [[system_design:payment_gateway|Payment Gateway]] * [[system_design:notification_system|Notification System]] * [[system_design:logging_pipeline|Logging Pipeline]] ----- ===== 14. Engineering Mindset ===== * [[mindset:debugging|Debugging Skills]] * [[mindset:system_thinking|System Thinking]] * [[mindset:trade_off_analysis|Trade-off Analysis]] * [[mindset:code_reading|Code Reading]] * [[mindset:refactoring|Refactoring]]