Domains: Hệ thống Thực tế theo Ngành
Section này không dạy CS lý thuyết thuần túy. Mục tiêu là trả lời câu hỏi: "Khi build hệ thống thực ở ngành X, người ta làm gì khác với textbook?"
Mỗi domain bao gồm: kiến trúc đặc thù, pattern phổ biến, bài toán khó hay gặp, và các câu hỏi interview thực tế mà senior engineer bị hỏi khi apply vào lĩnh vực đó.
Danh sách Domain
| Domain | File | Nội dung chính |
|---|---|---|
| Fintech / Neobank | fintech.md | Ledger, payment flow, KYC/AML, card processing, Napas/VietQR |
| Streaming & Real-time | streaming-and-realtime.md | Kafka, Flink, windowing, CDC, event-driven |
| Blockchain & Web3 | blockchain-and-web3.md | Consensus, UTXO vs Account, DeFi, Layer 2, Smart Contracts |
| E-commerce & Marketplace | ecommerce-and-marketplace.md | Catalog, inventory, flash sale, pricing, recommendation |
| Ride-hailing & Location | ride-hailing-and-location.md | Geospatial indexing, matching, surge pricing, trip state machine |
| Social Network | social-network.md | Feed generation, fan-out, ranking algorithm, notifications, graph queries |
| Video Streaming | video-streaming-platform.md | Transcoding, HLS/DASH, CDN, live streaming, recommendation, content moderation |
| Gaming Backend | gaming-backend.md | Matchmaking, real-time multiplayer, lag compensation, leaderboard at scale, anti-cheat |
| IoT Platform | iot-platform.md | Device management, MQTT/CoAP, telemetry at scale, edge computing, OTA updates |
| AdTech / RTB | adtech-and-rtb.md | Real-time bidding, 100k QPS, auction mechanism, fraud detection, attribution |
| Healthcare Systems | healthcare-systems.md | HIPAA compliance, EHR, HL7/FHIR, PHI encryption, audit logging, interoperability |
Tại sao cần học theo Domain?
CS fundamentals (algorithms, networking, databases) là nền tảng chung. Nhưng khi join một công ty fintech, bạn sẽ bị hỏi về idempotency trong payment — không phải về binary search. Khi apply vào Grab, bạn bị hỏi về geohash và driver matching — không phải về merge sort.
Domain knowledge giúp bạn:
- Rút ngắn onboarding khi join công ty mới trong ngành đó
- Pass system design interview bằng cách đề xuất giải pháp industry-proven
- Hiểu business context của kỹ thuật mình đang làm
Mối liên hệ với các section khác
flowchart TB F["CS Fundamentals (db/, network/, os/)"] --> S["Software Patterns (distributed-systems/, system-design/)"] S --> D["Domain Applications (domains/) — bạn đang ở đây"]
CS Fundamentals (db/, network/, os/)
│
▼
Software Patterns (software/distributed-systems/, software/system-design/)
│
▼
Domain Applications (domains/) ← bạn đang ở đây
Ví dụ: Kafka internals nằm ở streaming-and-realtime.md, nhưng cần hiểu
log-structured storage (db/) và distributed consensus (software/distributed-systems/)
trước khi đọc sâu.
Độ sâu và Target Audience
Các file trong section này viết ở mức senior engineer / system design interview. Không giải thích từ đầu những khái niệm cơ bản như HTTP hay B-tree — đọc các section tương ứng trước. Mục tiêu là nắm được đủ để:
- Thiết kế hệ thống trong ngành đó từ whiteboard
- Thảo luận trade-off như người đã có kinh nghiệm thực tế
- Không bị bất ngờ bởi jargon chuyên ngành