# Syllabus Business Analytics (5)

# PHASE 8 - PLATFORM (Ngày 695 – 754)

## Tuần 1-2 - Distributed Systems Fundamentals (Ngày 695-704)

**Ngày 695: Vì sao cần hiểu Distributed Systems**

*   Mục tiêu: Định vị lý do học phần này - mọi công cụ ở Phase 3 (Spark, Kafka, warehouse) đều là hệ phân tán.
    
*   Lý thuyết: Vấn đề cơ bản của hệ phân tán: network không đáng tin cậy, không có đồng hồ chung, node có thể chết bất cứ lúc nào.
    
*   Thực hành: Liệt kê 3 giả định "an toàn" khi lập trình 1 máy đơn nhưng SAI khi hệ thống phân tán trên nhiều máy.
    

**Ngày 696: CAP Theorem**

*   Mục tiêu: Nắm định lý nền tảng nhất của hệ phân tán.
    
*   Lý thuyết: Consistency, Availability, Partition tolerance - không thể có cả 3 cùng lúc khi có network partition.
    
*   Thực hành: Phân loại 4 hệ thống đã dùng (Postgres, Kafka, Cassandra-style, DynamoDB-style) theo CP hay AP, giải thích lựa chọn thiết kế.
    

**Ngày 697: PACELC Theorem**

*   Mục tiêu: Mở rộng CAP với trade-off khi KHÔNG có partition.
    
*   Lý thuyết: PACELC - ngay cả khi không partition, vẫn phải đánh đổi giữa Latency và Consistency.
    
*   Thực hành: Phân tích Snowflake/BigQuery theo góc nhìn PACELC - chúng ưu tiên gì khi không có sự cố mạng.
    

**Ngày 698: Replication - Leader-Follower**

*   Mục tiêu: Hiểu cơ chế nhân bản dữ liệu phổ biến nhất (đã gặp ở Kafka Phase 3).
    
*   Lý thuyết: Synchronous vs asynchronous replication, trade-off durability vs latency.
    
*   Thực hành: So sánh rủi ro mất dữ liệu giữa sync và async replication khi leader chết đột ngột, minh họa bằng sơ đồ.
    

**Ngày 699: Consensus Problem**

*   Mục tiêu: Hiểu vấn đề cốt lõi mọi hệ phân tán phải giải quyết - làm sao nhiều node đồng thuận 1 giá trị.
    
*   Lý thuyết: Vì sao consensus khó (network delay, node failure), 2-Phase Commit (2PC) và giới hạn của nó.
    
*   Thực hành: Vẽ sơ đồ 2PC cho 1 giao dịch phân tán đơn giản, chỉ ra điểm 2PC có thể bị "treo" (blocking) khi coordinator chết.
    

**Ngày 700: Raft Consensus Algorithm**

*   Mục tiêu: Hiểu thuật toán consensus hiện đại, dễ hiểu hơn Paxos - dùng trong Kafka KRaft (đã gặp ở Phase 3).
    
*   Lý thuyết: Leader election, log replication trong Raft - cách các node bầu leader mới khi leader cũ chết.
    
*   Thực hành: Đọc tài liệu trực quan hóa Raft (VD: The Secret Lives of Data), mô phỏng 1 vòng leader election bằng sơ đồ.
    

**Ngày 701: Consistency Models**

*   Mục tiêu: Phân biệt các mức độ "nhất quán" khác nhau - quan trọng khi thiết kế hệ thống đọc/ghi phân tán.
    
*   Lý thuyết: Strong consistency, eventual consistency, causal consistency.
    
*   Thực hành: Phân tích 1 tình huống thực tế (VD: đọc số dư tài khoản ngay sau khi cập nhật) và xác định mức consistency cần thiết.
    

**Ngày 702: Distributed Transactions & Idempotency**

*   Mục tiêu: Hiểu cách xử lý an toàn khi thao tác có thể bị lặp lại do retry.
    
*   Lý thuyết: Idempotency là gì, vì sao quan trọng trong hệ thống có retry (liên hệ Kafka producer `acks`/retry đã học Phase 3).
    
*   Thực hành: Thiết kế 1 API idempotent cho thao tác "trừ tiền tài khoản" (dùng idempotency key), giải thích cách tránh trừ tiền 2 lần khi client retry.
    

**Ngày 703: Reading Log #16 - Đọc chương sách "Designing Data-Intensive Applications"**

*   Mục tiêu: qua tài liệu gốc kinh điển của ngành.
    
*   Lý thuyết: Ghi lại luận điểm chính, sơ đồ minh họa hay nhất, liên hệ với công cụ đã dùng (Kafka, Spark, warehouse).
    
*   Thực hành: Đọc 1 chương liên quan trực tiếp (VD: chương về Replication hoặc Consistency), viết reading log.
    

**Ngày 704: Dự án Distributed Systems tổng hợp**

*   Mục tiêu: Tổng hợp tuần 1-2.
    
*   Lý thuyết: Checklist tư duy khi đánh giá 1 hệ thống phân tán mới (CAP trade-off, consistency model, consensus mechanism).
    
*   Thực hành: Viết tài liệu phân tích lại toàn bộ stack đã xây ở Phase 3 (Kafka, Spark, Iceberg, warehouse) qua lăng kính CAP/PACELC/consistency model.
    

## Tuần 3-4 - PostgreSQL (Ngày 705-714)

**Ngày 705: PostgreSQL - Kiến trúc Process**

*   Mục tiêu: Hiểu cách Postgres tổ chức tiến trình xử lý.
    
*   Lý thuyết: Postmaster, backend process cho mỗi connection, shared memory.
    
*   Thực hành: Chạy `ps aux | grep postgres` trên instance local, xác định các loại process đang chạy.
    

**Ngày 706: MVCC - Multi-Version Concurrency Control**

*   Mục tiêu: Hiểu cơ chế cho phép đọc/ghi đồng thời không khóa nhau.
    
*   Lý thuyết: Mỗi transaction thấy 1 "snapshot" riêng của dữ liệu, mỗi row có nhiều version (xid).
    
*   Thực hành: Mở 2 transaction đồng thời trong Postgres, quan sát 1 transaction không thấy thay đổi của transaction kia cho đến khi commit.
    

**Ngày 707: Transaction Isolation Levels**

*   Mục tiêu: Hiểu các mức cô lập transaction và hệ quả.
    
*   Lý thuyết: Read Committed, Repeatable Read, Serializable - anomaly nào mỗi mức ngăn được (dirty read, non-repeatable read, phantom read).
    
*   Thực hành: Mô phỏng non-repeatable read ở mức Read Committed, sau đó lặp lại ở mức Repeatable Read để thấy khác biệt.
    

**Ngày 708: Vacuum & Dead Tuples**

*   Mục tiêu: Hiểu "cái giá" của MVCC - dữ liệu cũ không bị xóa ngay.
    
*   Lý thuyết: Dead tuple sinh ra khi UPDATE/DELETE, `VACUUM` dọn dẹp, autovacuum.
    
*   Thực hành: Chạy UPDATE hàng loạt trên 1 bảng, quan sát bảng phình to, sau đó chạy `VACUUM` và so sánh kích thước.
    

**Ngày 709: WAL - Write-Ahead Log**

*   Mục tiêu: Hiểu cơ chế đảm bảo durability (chữ D trong ACID).
    
*   Lý thuyết: Ghi log trước khi ghi dữ liệu thật, cách WAL giúp phục hồi sau crash.
    
*   Thực hành: Đọc tài liệu WAL, mô tả bằng sơ đồ quy trình crash recovery dùng WAL.
    

**Ngày 710: WAL & Replication**

*   Mục tiêu: Kết nối WAL với replication (liên hệ Ngày 698).
    
*   Lý thuyết: Streaming replication dùng WAL để đồng bộ replica, replication lag.
    
*   Thực hành: Đọc tài liệu streaming replication của Postgres, giải thích cách replica "phát lại" WAL để bắt kịp primary.
    

**Ngày 711: Query Planner & EXPLAIN**

*   Mục tiêu: Hiểu cách Postgres chọn kế hoạch thực thi truy vấn.
    
*   Lý thuyết: Cost-based optimizer, sequential scan vs index scan, statistics (`pg_stats`).
    
*   Thực hành: Chạy `EXPLAIN ANALYZE` cho 1 truy vấn phức tạp, phân tích từng bước trong plan.
    

**Ngày 712: Index - B-Tree**

*   Mục tiêu: Hiểu cấu trúc dữ liệu đằng sau index phổ biến nhất.
    
*   Lý thuyết: B-Tree index - cách nó tăng tốc lookup, khi nào planner chọn dùng index.
    
*   Thực hành: Tạo index cho 1 cột, so sánh execution plan và thời gian chạy trước/sau.
    

**Ngày 713: Các loại Index khác & Khi nào dùng**

*   Mục tiêu: Biết ngoài B-Tree còn có lựa chọn khác.
    
*   Lý thuyết: GIN (cho JSONB/full-text search), GiST, BRIN (cho dữ liệu lớn có thứ tự tự nhiên như timestamp).
    
*   Thực hành: Tạo BRIN index cho cột timestamp trên bảng lớn, so sánh kích thước index với B-Tree tương đương.
    

**Ngày 714: Dự án PostgreSQL tổng hợp**

*   Mục tiêu: Tổng hợp tuần 3-4.
    
*   Lý thuyết: Checklist chẩn đoán performance issue trong Postgres (dùng EXPLAIN, kiểm tra vacuum, kiểm tra index).
    
*   Thực hành: Nhận 1 truy vấn chạy chậm (cố ý thiết kế kém), chẩn đoán nguyên nhân bằng kiến thức và đề xuất fix (thêm index, viết lại truy vấn, vacuum).
    

## Tuần 5 - BigQuery (Ngày 715-722)

**Ngày 715: Dremel - Nguồn gốc của BigQuery**

*   Mục tiêu: Hiểu hệ thống nghiên cứu của Google đằng sau BigQuery.
    
*   Lý thuyết: Dremel paper (2010) - kiến trúc columnar + tree architecture cho truy vấn song song quy mô lớn.
    
*   Thực hành: Đọc tóm tắt paper Dremel (hoặc bài blog giải thích), vẽ sơ đồ kiến trúc "tree" của Dremel.
    

**Ngày 716: Colossus - Hệ thống Lưu trữ nền tảng**

*   Mục tiêu: Hiểu tầng lưu trữ bên dưới BigQuery.
    
*   Lý thuyết: Colossus (successor của Google File System) - tách biệt hoàn toàn storage khỏi compute, cho phép BigQuery serverless.
    
*   Thực hành: So sánh kiến trúc Colossus+Dremel với kiến trúc Snowflake (đã học sơ ở Phase 3) - điểm giống và khác.
    

**Ngày 717: Slot-based Execution Model**

*   Mục tiêu: Hiểu đơn vị tính toán của BigQuery.
    
*   Lý thuyết: Slot là gì, cách BigQuery phân bổ slot cho truy vấn, ảnh hưởng đến pricing (flat-rate đã học Phase 3).
    
*   Thực hành: Xem slot usage của 1 truy vấn qua BigQuery execution details, giải thích tại sao truy vấn phức tạp dùng nhiều slot hơn.
    

**Ngày 718: Shuffle trong BigQuery**

*   Mục tiêu: Hiểu Dremel xử lý shuffle (JOIN/GROUP BY) khác Spark thế nào.
    
*   Lý thuyết: BigQuery dùng in-memory shuffle tách biệt khỏi compute node (khác Spark shuffle qua đĩa/network trực tiếp giữa executor).
    
*   Thực hành: Đọc tài liệu so sánh shuffle architecture giữa BigQuery và Spark, tóm tắt lý do BigQuery shuffle hiệu quả hơn ở quy mô cực lớn.
    

**Ngày 719: Query Execution Plan trong BigQuery**

*   Mục tiêu: Đọc hiểu execution plan thực tế.
    
*   Lý thuyết: Query stages, các bước trong execution graph.
    
*   Thực hành: Chạy 1 truy vấn phức tạp (join + aggregation) trên BigQuery, phân tích execution details tab để hiểu từng stage.
    

**Ngày 720: Capacitor - Định dạng Lưu trữ Columnar của BigQuery**

*   Mục tiêu: Hiểu định dạng lưu trữ nội bộ (khác Parquet dùng ngoài).
    
*   Lý thuyết: Capacitor - định dạng columnar tối ưu riêng cho BigQuery, hỗ trợ nested/repeated field tốt hơn Parquet truyền thống.
    
*   Thực hành: Đọc tài liệu về Capacitor, so sánh với Parquet đã học ở Phase 3 về khả năng xử lý dữ liệu nested (VD: JSON lồng nhau).
    

**Ngày 721: BI Engine & Caching**

*   Mục tiêu: Hiểu tầng tăng tốc cho dashboard.
    
*   Lý thuyết: BigQuery BI Engine - in-memory analysis service tăng tốc truy vấn từ BI tool.
    
*   Thực hành: Đọc tài liệu BI Engine, giải thích khi nào nên bật tính năng này cho dashboard Power BI/Looker đã xây ở Phase 1.
    

**Ngày 722: Dự án BigQuery tổng hợp**

*   Mục tiêu: Tổng hợp tuần 5.
    
*   Lý thuyết: Checklist tối ưu truy vấn BigQuery dựa trên hiểu biết.
    
*   Thực hành: Viết tài liệu giải thích (cho đồng nghiệp không rành kỹ thuật) vì sao BigQuery nhanh với dữ liệu petabyte, dựa trên Dremel + Colossus + Capacitor.
    

## Tuần 6 - Snowflake (Ngày 723-728)

**Ngày 723: Kiến trúc 3 Lớp của Snowflake**

*   Mục tiêu: Ôn sâu hơn kiến trúc đã học sơ ở Phase 3.
    
*   Lý thuyết: Storage layer, compute layer (virtual warehouse), cloud services layer - vai trò từng lớp.
    
*   Thực hành: Vẽ sơ đồ chi tiết 3 lớp Snowflake, chú thích trách nhiệm của từng lớp (metadata, optimization, execution).
    

**Ngày 724: Micro-partitions**

*   Mục tiêu: Hiểu đơn vị lưu trữ cơ bản của Snowflake.
    
*   Lý thuyết: Micro-partition (~50-500MB nén), metadata tự động (min/max value) cho mỗi micro-partition giúp pruning.
    
*   Thực hành: Đọc tài liệu micro-partition, giải thích cách Snowflake tránh quét toàn bộ bảng mà không cần khai báo partition thủ công (khác BigQuery cần khai báo partition column).
    

**Ngày 725: Automatic Clustering**

*   Mục tiêu: Hiểu cách Snowflake tối ưu tự động thay vì thủ công.
    
*   Lý thuyết: Clustering key, cách Snowflake tự động reorganize micro-partition để tối ưu pruning theo thời gian.
    
*   Thực hành: Đọc tài liệu về clustering, xác định khi nào nên khai báo clustering key thủ công thay vì để mặc định.
    

**Ngày 726: Cloud Services Layer - Metadata Management**

*   Mục tiêu: Hiểu "bộ não" quản lý toàn bộ hệ thống Snowflake.
    
*   Lý thuyết: Cloud services layer quản lý authentication, metadata, query optimization, và infrastructure management tách biệt khỏi compute.
    
*   Thực hành: Giải thích vì sao tách biệt cloud services layer giúp Snowflake scale độc lập từng thành phần.
    

**Ngày 727: Cơ chế Time Travel & Fail-safe**

*   Mục tiêu: Hiểu cách Snowflake lưu trữ để hỗ trợ tính năng đã dùng ở Phase 3.
    
*   Lý thuyết: Time travel dùng metadata trỏ đến các phiên bản micro-partition cũ (tương tự snapshot của Iceberg đã học), fail-safe là lớp bảo vệ bổ sung sau time travel.
    
*   Thực hành: So sánh cơ chế time travel của Snowflake với snapshot mechanism của Iceberg đã học ở Phase 3 - điểm tương đồng về triết lý thiết kế.
    

**Ngày 728: Dự án Snowflake tổng hợp**

*   Mục tiêu: Tổng hợp tuần 6.
    
*   Lý thuyết: Checklist thiết kế bảng Snowflake tối ưu dựa trên hiểu biết micro-partition/clustering.
    
*   Thực hành: Viết đề xuất thiết kế clustering key cho 1 bảng fact lớn dựa trên pattern truy vấn thường gặp, giải thích lý do bằng kiến thức.
    

## Tuần 7 - Spark & Streaming (Ngày 729-740)

**Ngày 729: Ôn & Catalyst Optimizer**

*   Mục tiêu: Củng cố và mở rộng kiến thức Phase 3.
    
*   Lý thuyết: 4 giai đoạn của Catalyst (analysis, logical optimization, physical planning, code generation) - chi tiết hơn Phase 3.
    
*   Thực hành: Dùng `.explain(true)` xem cả 4 giai đoạn plan cho 1 truy vấn phức tạp, xác định optimization rule nào đã áp dụng (predicate pushdown, constant folding).
    

**Ngày 730: Whole-Stage Code Generation**

*   Mục tiêu: Hiểu kỹ thuật tối ưu mức thấp giúp Spark nhanh gần bằng code tay viết.
    
*   Lý thuyết: Spark sinh Java bytecode trực tiếp cho cả chuỗi operation thay vì gọi hàm ảo (virtual function call) từng bước - giảm overhead JVM.
    
*   Thực hành: Đọc tài liệu kỹ thuật về whole-stage codegen, giải thích tại sao nó giảm CPU overhead so với Volcano-style execution truyền thống.
    

**Ngày 731: Adaptive Query Execution -**

*   Mục tiêu: Hiểu chi tiết hơn AQE đã học sơ ở Phase 3.
    
*   Lý thuyết: 3 tính năng chính của AQE: dynamically coalescing shuffle partitions, dynamically switching join strategies, dynamically optimizing skew joins.
    
*   Thực hành: Mô phỏng 1 tình huống data skew (1 key chiếm phần lớn dữ liệu), bật AQE skew join optimization và so sánh thời gian chạy.
    

**Ngày 732: Reading Log #17 - Đọc lại Spark Catalyst với góc nhìn sâu hơn**

*   Mục tiêu: Kết nối kiến thức Ngày 729-731 thành bức tranh hoàn chỉnh.
    
*   Lý thuyết: Ghi lại toàn bộ pipeline optimization của Spark từ SQL text đến bytecode thực thi.
    
*   Thực hành: Viết reading log tổng hợp, vẽ sơ đồ đầy đủ pipeline: SQL → Unresolved Plan → Analyzed Plan → Optimized Plan → Physical Plan → RDD/Bytecode.
    

**Ngày 733: Kafka - Log Segment & Compaction**

*   Mục tiêu: Hiểu chi tiết hơn cách Kafka lưu trữ đã học sơ ở Phase 3.
    
*   Lý thuyết: Log compaction (khác retention theo thời gian) - giữ lại message mới nhất cho mỗi key, dùng cho use case như changelog.
    
*   Thực hành: Cấu hình `cleanup.policy=compact` cho 1 topic, mô phỏng compaction giữ lại chỉ giá trị mới nhất cho mỗi key.
    

**Ngày 734: Kafka - Zero-Copy & Performance**

*   Mục tiêu: Hiểu vì sao Kafka đạt throughput rất cao.
    
*   Lý thuyết: Zero-copy transfer (sendfile syscall) - dữ liệu chuyển thẳng từ page cache ra network mà không qua application layer.
    
*   Thực hành: Đọc tài liệu kỹ thuật về zero-copy trong Kafka, giải thích bằng sơ đồ so sánh với cách copy dữ liệu truyền thống.
    

**Ngày 735: Flink - Checkpoint Mechanism**

*   Mục tiêu: Hiểu chi tiết hơn checkpoint đã học sơ ở Phase 3.
    
*   Lý thuyết: Chandy-Lamport algorithm (asynchronous barrier snapshotting) - cách Flink chụp snapshot trạng thái toàn hệ thống phân tán mà không dừng xử lý.
    
*   Thực hành: Vẽ sơ đồ minh họa barrier di chuyển qua các operator trong Flink job, giải thích tại sao đảm bảo consistent snapshot.
    

**Ngày 736: Flink - RocksDB State Backend**

*   Mục tiêu: Hiểu cách Flink lưu trữ state lớn không vừa bộ nhớ.
    
*   Lý thuyết: RocksDB làm state backend - embedded key-value store trên đĩa, incremental checkpoint.
    
*   Thực hành: So sánh trade-off giữa memory state backend (nhanh, giới hạn dung lượng) và RocksDB state backend (chậm hơn, không giới hạn) cho use case state lớn (VD: theo dõi hàng triệu user).
    

**Ngày 737: So sánh Internal Architecture: Batch vs Streaming Engine**

*   Mục tiêu: Tổng hợp so sánh Spark (micro-batch/batch) vs Flink (true streaming) ở tầng.
    
*   Lý thuyết: Khác biệt cơ bản về mô hình thực thi dẫn đến khác biệt latency đã quan sát ở Phase 3.
    
*   Thực hành: Viết bảng so sánh kiến trúc của Spark vs Flink, giải thích gốc rễ kỹ thuật của sự khác biệt latency.
    

**Ngày 738: Vai trò của trong Troubleshooting thực tế**

*   Mục tiêu: Kết nối kiến thức lý thuyết với kỹ năng debug thực tế.
    
*   Lý thuyết: Các loại sự cố thường gặp (OOM trong Spark, consumer lag trong Kafka, checkpoint timeout trong Flink) và cách kiến thức giúp chẩn đoán nhanh hơn.
    
*   Thực hành: Với 3 tình huống lỗi giả định, dùng kiến thức đã học để đưa ra giả thuyết nguyên nhân và hướng debug.
    

**Ngày 739: Reading Log #18 - So sánh Kiến trúc 3 Warehouse + 2 Compute Engine**

*   Mục tiêu: Tổng hợp toàn bộ kiến thức đã học.
    
*   Lý thuyết: Ghi chú so sánh tổng thể Snowflake/BigQuery/Postgres và Spark/Flink theo các trục: storage model, compute model, consistency, scaling philosophy.
    
*   Thực hành: Viết reading log tổng hợp dạng bảng so sánh lớn, dùng làm tài liệu tham khảo cá nhân lâu dài.
    

**Ngày 740: Dự án tổng hợp**

*   Mục tiêu: Tổng hợp tuần 7.
    
*   Lý thuyết: Checklist "khi nào cần hiểu" - không phải lúc nào cũng cần, nhưng quan trọng khi troubleshoot hoặc thiết kế kiến trúc lớn.
    
*   Thực hành: Viết tài liệu kiến trúc kỹ thuật (technical deep-dive doc) cho 1 phần hệ thống đã xây ở Phase 3, giải thích lựa chọn thiết kế dựa trên đã học.
    

## Tuần 8-9 - Data Governance & Privacy (Ngày 741-750)

**Ngày 741: Data Governance - Tổng quan**

*   Mục tiêu: Hiểu khung quản trị dữ liệu ở cấp độ tổ chức (khác data quality kỹ thuật đã học Phase 2).
    
*   Lý thuyết: Data governance framework - chính sách, vai trò (data owner, data steward), quy trình quản lý dữ liệu toàn tổ chức.
    
*   Thực hành: Vẽ sơ đồ vai trò governance cho 1 tổ chức giả định (ai là data owner của bảng khách hàng, ai là data steward).
    

**Ngày 742: GDPR - Nguyên tắc cốt lõi**

*   Mục tiêu: Hiểu khung pháp lý bảo vệ dữ liệu quan trọng nhất thế giới.
    
*   Lý thuyết: Các nguyên tắc chính của GDPR - lawful basis, data minimization, right to be forgotten, right to access.
    
*   Thực hành: Đánh giá 1 pipeline dữ liệu đã xây (Phase 2-3) theo checklist tuân thủ GDPR cơ bản, xác định điểm chưa đạt.
    

**Ngày 743: CCPA & So sánh các Khung Pháp lý**

*   Mục tiêu: Biết thêm khung pháp lý phổ biến khác (California, áp dụng rộng cho công ty làm việc với thị trường Mỹ).
    
*   Lý thuyết: CCPA - điểm giống/khác với GDPR, right to opt-out of sale.
    
*   Thực hành: Viết bảng so sánh GDPR vs CCPA theo các quyền chính của người dùng.
    

**Ngày 744: PII Classification & Data Discovery**

*   Mục tiêu: Xác định dữ liệu nhạy cảm trong hệ thống.
    
*   Lý thuyết: Personally Identifiable Information (PII) - trực tiếp vs gián tiếp, kỹ thuật tự động phát hiện PII trong warehouse.
    
*   Thực hành: Viết script/query quét toàn bộ column name trong warehouse đã xây, gắn nhãn PII cho các cột nghi ngờ (email, phone, địa chỉ).
    

**Ngày 745: Data Masking & Anonymization**

*   Mục tiêu: Bảo vệ dữ liệu nhạy cảm khi cần chia sẻ cho phân tích/testing.
    
*   Lý thuyết: Masking (che một phần), pseudonymization (thay bằng ID giả), anonymization (không thể truy ngược) - khác biệt và use case.
    
*   Thực hành: Viết dbt macro tự động mask số điện thoại/email trong môi trường dev (giữ nguyên ở production).
    

**Ngày 746: Access Control cho Dữ liệu Nhạy cảm**

*   Mục tiêu: Kết nối với RLS đã học ở Power BI/Snowflake.
    
*   Lý thuyết: Column-level security, dynamic data masking ở tầng warehouse (Snowflake/BigQuery hỗ trợ sẵn).
    
*   Thực hành: Thiết lập dynamic data masking cho cột PII trong warehouse (nếu có quyền truy cập Snowflake/BigQuery), chỉ admin mới thấy giá trị thật.
    

**Ngày 747: Data Retention Policy**

*   Mục tiêu: Quản lý vòng đời dữ liệu đúng quy định.
    
*   Lý thuyết: Retention policy - thời gian giữ dữ liệu theo loại, tự động xóa/archive khi hết hạn.
    
*   Thực hành: Viết chính sách retention cho 3 loại dữ liệu khác nhau (log sự kiện: 90 ngày, dữ liệu giao dịch: 7 năm theo quy định tài chính, dữ liệu marketing: theo consent).
    

**Ngày 748: Audit Logging cho Data Access**

*   Mục tiêu: Đảm bảo khả năng truy vết ai đã truy cập dữ liệu gì.
    
*   Lý thuyết: Audit log là gì, yêu cầu compliance thường gặp (ai truy vấn bảng PII, khi nào).
    
*   Thực hành: Kiểm tra tính năng audit log có sẵn của warehouse đang dùng (query history trong Snowflake/BigQuery), viết query phân tích ai đã truy cập bảng khách hàng nhiều nhất.
    

**Ngày 749: Data Governance trong Data Catalog (liên hệ Phase 3)**

*   Mục tiêu: Kết nối governance với công cụ đã học.
    
*   Lý thuyết: Vai trò DataHub/OpenMetadata trong việc gắn nhãn PII, ownership, và policy ngay trong catalog.
    
*   Thực hành: Gắn tag PII và ownership cho các bảng nhạy cảm trong DataHub instance đã xây ở Phase 3.
    

**Ngày 750: Dự án Data Governance tổng hợp**

*   Mục tiêu: Tổng hợp tuần 8-9.
    
*   Lý thuyết: Checklist governance framework hoàn chỉnh cho 1 tổ chức.
    
*   Thực hành: Viết tài liệu Data Governance Framework đầy đủ cho hệ thống đã xây xuyên suốt Phase 2-3 (PII classification, access control, retention policy, audit logging).
    

## Tuần 10 - Capstone Phase 8 (Ngày 751-754)

**Ngày 751: Capstone - Kiến trúc Đánh giá Toàn diện**

*   Mục tiêu: Ghép toàn bộ Phase 8 vào 1 đánh giá kiến trúc hoàn chỉnh.
    
*   Lý thuyết: Framework đánh giá 1 platform dữ liệu theo: distributed systems trade-off, performance, governance & compliance.
    
*   Thực hành: Chọn hệ thống đã xây ở Phase 3 làm đối tượng đánh giá, lên kế hoạch review theo 3 trục trên.
    

**Ngày 752: Capstone - Performance Deep-dive**

*   Mục tiêu: Áp dụng kiến thức để tối ưu hệ thống thật.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Chẩn đoán và tối ưu 1 điểm nghẽn hiệu năng cụ thể trong pipeline đã xây (dùng kiến thức Postgres/Spark/warehouse).
    

**Ngày 753: Capstone - Governance & Compliance Review**

*   Mục tiêu: Đảm bảo hệ thống tuân thủ các nguyên tắc governance đã học.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Áp dụng đầy đủ PII masking, access control, và audit logging cho hệ thống đã xây.
    

**Ngày 754: Capstone - Hoàn thiện & Tổng kết Phase 8**

*   Mục tiêu: Kết thúc Phase 8, chuyển giao sang Phase 9.
    
*   Lý thuyết: Nhìn lại hành trình Phase 8 - hiểu "hộp đen" giúp bạn không chỉ là người dùng công cụ mà là người thiết kế và troubleshoot hệ thống ở tầm kiến trúc sư.
    
*   Thực hành: Viết báo cáo đánh giá kiến trúc toàn diện, cập nhật portfolio GitHub, tổng kết Phase 8, lên kế hoạch Phase 9 (Executive Analytics).
    

# PHASE 9 - EXECUTIVE ANALYTICS (Ngày 755 – 799)

## Tuần 1-2 - Storytelling & Executive Communication (Ngày 755-764)

**Ngày 755: Vì sao Executive Communication là kỹ năng riêng biệt**

*   Mục tiêu: Hiểu khác biệt giữa báo cáo cho đồng nghiệp kỹ thuật và trình bày cho ban lãnh đạo.
    
*   Lý thuyết: Executive có ít thời gian, quan tâm "so what" và "now what" hơn là chi tiết phương pháp.
    
*   Thực hành: Lấy 1 báo cáo kỹ thuật đã viết ở các Phase trước, liệt kê những phần sẽ bị executive bỏ qua/khó chịu nếu giữ nguyên.
    

**Ngày 756: Pyramid Principle - Giới thiệu**

*   Mục tiêu: Nắm khung tư duy trình bày kinh điển (Barbara Minto, cựu McKinsey).
    
*   Lý thuyết: Bắt đầu bằng câu trả lời/kết luận trước, sau đó mới đến lý do và chi tiết hỗ trợ - ngược với cách trình bày "kể chuyện" thông thường.
    
*   Thực hành: Viết lại phần mở đầu của 1 báo cáo đã làm theo đúng Pyramid Principle (kết luận trước, luận điểm hỗ trợ sau).
    

**Ngày 757: Pyramid Principle - Cấu trúc theo Nhóm Logic**

*   Mục tiêu: Tổ chức luận điểm hỗ trợ có logic rõ ràng.
    
*   Lý thuyết: MECE (Mutually Exclusive, Collectively Exhaustive) - nguyên tắc nhóm ý tưởng không chồng chéo, không bỏ sót.
    
*   Thực hành: Kiểm tra 1 báo cáo cũ có vi phạm MECE không (luận điểm chồng chéo hoặc thiếu sót), tái cấu trúc lại.
    

**Ngày 758: SCQA Framework**

*   Mục tiêu: Học công thức mở đầu 1 câu chuyện thuyết phục.
    
*   Lý thuyết: Situation - Complication - Question - Answer - cách dẫn dắt người nghe từ bối cảnh quen thuộc đến vấn đề cần giải quyết.
    
*   Thực hành: Viết phần mở đầu (SCQA) cho 1 báo cáo tự chọn từ các Phase trước.
    

**Ngày 759: One-slide Summary (Executive Summary)**

*   Mục tiêu: Rèn kỹ năng nén toàn bộ phân tích vào 1 trang/slide.
    
*   Lý thuyết: Nguyên tắc: 1 slide = 1 thông điệp chính, tiêu đề slide phải là câu kết luận (action title) chứ không phải chủ đề chung chung.
    
*   Thực hành: Nén 1 báo cáo dài (VD: capstone Phase 5 hoặc Phase 6) thành đúng 1 slide executive summary.
    

**Ngày 760: Data Visualization cho Audience Cấp cao**

*   Mục tiêu: Ôn và nâng cấp storytelling with data (Phase 1) cho bối cảnh executive.
    
*   Lý thuyết: Executive cần biểu đồ "trả lời ngay câu hỏi", không cần khám phá - khác dashboard cho analyst.
    
*   Thực hành: Chuyển đổi 1 dashboard tương tác đã làm ở Phase 1 thành 3-4 biểu đồ tĩnh tối giản phù hợp trình bày trong cuộc họp ban lãnh đạo.
    

**Ngày 761: Trả lời Câu hỏi Khó & Phản biện**

*   Mục tiêu: Chuẩn bị cho phần Q&A - nơi nhiều buổi trình bày thất bại.
    
*   Lý thuyết: Kỹ thuật "bridging" (chuyển từ câu hỏi khó về thông điệp chính), chuẩn bị backup slide cho câu hỏi dự đoán trước.
    
*   Thực hành: Liệt kê 5 câu hỏi phản biện khó nhất có thể gặp cho 1 báo cáo đã làm, chuẩn bị câu trả lời ngắn gọn cho từng câu.
    

**Ngày 762: Kể chuyện bằng Số liệu - Case Study thực hành**

*   Mục tiêu: Tổng hợp qua case study thực tế.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Đọc 1 bài trình bày/case study nổi tiếng ứng dụng tốt data storytelling (VD: 1 shareholder letter của công ty lớn có phần phân tích dữ liệu), phân tích cấu trúc Pyramid Principle trong đó.
    

**Ngày 763: Reading Log #19 - Đọc "The Pyramid Principle" hoặc tương đương**

*   Mục tiêu: Đào sâu qua tài liệu gốc.
    
*   Lý thuyết: Ghi lại nguyên tắc cốt lõi, ví dụ minh họa hay nhất.
    
*   Thực hành: Đọc 1-2 chương liên quan, viết reading log.
    

**Ngày 764: Dự án Executive Communication tổng hợp**

*   Mục tiêu: Tổng hợp tuần 1-2.
    
*   Lý thuyết: Checklist 1 bài trình bày executive đạt chuẩn (Pyramid structure, MECE, action title, chuẩn bị Q&A).
    
*   Thực hành: Chuyển đổi hoàn chỉnh 1 capstone project trước đó (khuyến nghị Phase 5 hoặc Phase 6) thành bộ slide trình bày executive 5-7 trang.
    

## Tuần 3 - Influence & Stakeholder Management (Ngày 765-772)

**Ngày 765: Stakeholder Mapping**

*   Mục tiêu: Hiểu cách phân loại và ưu tiên các bên liên quan.
    
*   Lý thuyết: Ma trận Power/Interest - phân loại stakeholder theo mức độ quyền lực và quan tâm.
    
*   Thực hành: Vẽ stakeholder map cho 1 dự án phân tích lớn (VD: capstone Phase 3), xác định chiến lược giao tiếp cho từng nhóm.
    

**Ngày 766: Hiểu "Ngôn ngữ" của từng Stakeholder**

*   Mục tiêu: Điều chỉnh cách trình bày theo từng đối tượng.
    
*   Lý thuyết: CFO quan tâm ROI/chi phí, CTO quan tâm khả năng mở rộng kỹ thuật, CMO quan tâm growth/brand - cùng 1 phân tích cần "dịch" khác nhau.
    
*   Thực hành: Viết 3 phiên bản tóm tắt (1 đoạn) cho cùng 1 kết quả phân tích, nhắm tới CFO, CTO, CMO riêng biệt.
    

**Ngày 767: Xây dựng Trust với Stakeholder Kỹ thuật lẫn Phi kỹ thuật**

*   Mục tiêu: Cân bằng uy tín với cả 2 nhóm đối tượng.
    
*   Lý thuyết: Rủi ro "quá kỹ thuật" (mất kết nối với business) và "quá đơn giản hóa" (mất uy tín với kỹ thuật) - cách cân bằng.
    
*   Thực hành: Viết 1 đoạn giải thích phương pháp (VD: causal inference từ Phase 5) đủ chi tiết để thuyết phục 1 data scientist khác nhưng vẫn dễ hiểu cho product manager.
    

**Ngày 768: Xử lý Bất đồng Quan điểm với Lãnh đạo**

*   Mục tiêu: Học cách phản biện xây dựng khi dữ liệu mâu thuẫn với ý kiến cấp trên.
    
*   Lý thuyết: "Disagree and commit" (văn hóa Amazon), cách trình bày phản biện dựa trên dữ liệu mà không gây xung đột cá nhân.
    
*   Thực hành: Viết kịch bản hội thoại xử lý tình huống: lãnh đạo muốn triển khai 1 tính năng dù dữ liệu A/B test (Phase 5) cho thấy không hiệu quả.
    

**Ngày 769: Negotiation - Nguyên tắc cơ bản**

*   Mục tiêu: Ôn lại và mở rộng Negotiation Theory đã học sơ ở Phase 7.
    
*   Lý thuyết: Interest-based negotiation (Harvard Negotiation Project) - tập trung vào lợi ích thực sự thay vì lập trường cứng nhắc.
    
*   Thực hành: Phân tích 1 tình huống đàm phán nội bộ (VD: xin thêm ngân sách cho data team), xác định lợi ích thực sự đằng sau lập trường của mỗi bên.
    

**Ngày 770: Đàm phán Nguồn lực & Ưu tiên Dự án**

*   Mục tiêu: Ứng dụng vào tình huống thực tế của Analytics team.
    
*   Lý thuyết: Cách trình bày trade-off nguồn lực bằng ngôn ngữ business impact thay vì chỉ "cần thêm người".
    
*   Thực hành: Viết đề xuất xin thêm nguồn lực cho 1 dự án phân tích, định lượng ROI dự kiến để thuyết phục.
    

**Ngày 771: Xây dựng Ảnh hưởng không cần Quyền lực Chính thức**

*   Mục tiêu: Kỹ năng đặc biệt quan trọng cho vai trò analytics (thường không có quyền quyết định trực tiếp).
    
*   Lý thuyết: Influence without authority - dùng dữ liệu, uy tín, và mối quan hệ thay vì chức vụ.
    
*   Thực hành: Viết kế hoạch xây dựng ảnh hưởng trong 90 ngày đầu ở 1 vai trò Decision Scientist mới (từ đâu bắt đầu, ai cần thuyết phục trước).
    

**Ngày 772: Dự án Stakeholder Management tổng hợp**

*   Mục tiêu: Tổng hợp tuần 3.
    
*   Lý thuyết: Checklist quản lý stakeholder hiệu quả cho 1 dự án phân tích lớn.
    
*   Thực hành: Viết kế hoạch stakeholder management đầy đủ cho capstone cuối cùng sắp làm (Phase 9 + Capstone tổng), xác định ai cần thuyết phục, bằng cách nào.
    

## Tuần 4 - Decision Memo Writing (Ngày 773-778)

**Ngày 773: Amazon-style Memo - Triết lý "No PowerPoint"**

*   Mục tiêu: Hiểu văn hóa nổi tiếng của Amazon về viết thay vì trình chiếu.
    
*   Lý thuyết: Lý do Amazon cấm slide trong họp quan trọng - văn bản buộc tư duy logic chặt chẽ hơn slide bullet point.
    
*   Thực hành: Đọc 1 bài viết/phỏng vấn giải thích văn hóa memo của Amazon, tóm tắt 3 lý do chính.
    

**Ngày 774: Cấu trúc 6-Page Memo**

*   Mục tiêu: Nắm cấu trúc chuẩn của Amazon memo.
    
*   Lý thuyết: Narrative structure - bối cảnh, dữ liệu, phân tích, phương án, khuyến nghị - viết dưới dạng văn xuôi mạch lạc thay vì bullet rời rạc.
    
*   Thực hành: Viết outline 6 phần cho 1 memo quyết định dựa trên capstone Phase 5 hoặc Phase 6.
    

**Ngày 775: Silent Reading Meeting**

*   Mục tiêu: Hiểu quy trình họp đặc biệt đi kèm memo.
    
*   Lý thuyết: Mọi người đọc memo im lặng đầu buổi họp (15-20 phút) trước khi thảo luận - đảm bảo mọi người cùng xuất phát điểm thông tin.
    
*   Thực hành: Viết hướng dẫn ngắn cho 1 buổi họp silent-reading (thời gian đọc, cách ghi chú câu hỏi trong lúc đọc).
    

**Ngày 776: Viết Memo hoàn chỉnh - Bản nháp**

*   Mục tiêu: Thực hành viết đầy đủ.
    
*   Lý thuyết: Không có lý thuyết mới - áp dụng Pyramid Principle (tuần 1) vào cấu trúc memo.
    
*   Thực hành: Viết bản nháp đầy đủ memo quyết định (1-2 trang) cho capstone đã chọn.
    

**Ngày 777: Self-review & Tinh chỉnh Memo**

*   Mục tiêu: Rèn kỹ năng tự đánh giá trước khi gửi.
    
*   Lý thuyết: Checklist review memo tốt: mỗi câu có cần thiết không, dữ liệu có hỗ trợ đúng luận điểm không, khuyến nghị có đủ rõ ràng và actionable không.
    
*   Thực hành: Tự review và cắt gọt bản nháp Ngày 776 xuống còn 70% độ dài, giữ nguyên toàn bộ thông điệp quan trọng.
    

**Ngày 778: Dự án Decision Memo tổng hợp**

*   Mục tiêu: Tổng hợp tuần 4.
    
*   Lý thuyết: Checklist memo hoàn chỉnh sẵn sàng gửi cho ban lãnh đạo.
    
*   Thực hành: Hoàn thiện memo cuối cùng, đưa vào portfolio như 1 sản phẩm mẫu thể hiện kỹ năng communication.
    

## Tuần 5-6 - Strategy Analytics (Ngày 779-786)

**Ngày 779: Market Sizing - Phương pháp Top-down**

*   Mục tiêu: Nắm kỹ năng ước lượng quy mô thị trường - thường gặp trong phỏng vấn case study.
    
*   Lý thuyết: Top-down approach - bắt đầu từ số liệu tổng thể (dân số, GDP) rồi thu hẹp dần.
    
*   Thực hành: Ước lượng TAM (Total Addressable Market) cho 1 sản phẩm giả định bằng phương pháp top-down (VD: thị trường giao đồ ăn tại 1 thành phố).
    

**Ngày 780: Market Sizing - Phương pháp Bottom-up**

*   Mục tiêu: Học phương pháp thay thế, thường chính xác hơn cho thị trường ngách.
    
*   Lý thuyết: Bottom-up approach - xây từ đơn vị nhỏ nhất (VD: số cửa hàng × doanh thu trung bình/cửa hàng) rồi nhân lên.
    
*   Thực hành: Ước lượng lại cùng thị trường ở Ngày 779 bằng bottom-up, so sánh kết quả với top-down.
    

**Ngày 781: TAM, SAM, SOM**

*   Mục tiêu: Phân biệt 3 tầng thị trường trong phân tích chiến lược.
    
*   Lý thuyết: Total Addressable Market, Serviceable Addressable Market, Serviceable Obtainable Market.
    
*   Thực hành: Xây phễu TAM → SAM → SOM đầy đủ cho sản phẩm giả định, giải thích giả định thu hẹp ở mỗi tầng.
    

**Ngày 782: Unit Economics - Các thành phần cốt lõi**

*   Mục tiêu: Ôn và mở rộng CAC/LTV đã học Phase 1 thành phân tích chiến lược đầy đủ.
    
*   Lý thuyết: Contribution margin, payback period, LTV:CAC ratio ở tầm chiến lược (không chỉ theo dõi mà còn dùng để quyết định đầu tư).
    
*   Thực hành: Xây mô hình unit economics đầy đủ cho 1 sản phẩm subscription giả định, tính payback period và đánh giá tính bền vững.
    

**Ngày 783: Unit Economics cho Quyết định Mở rộng**

*   Mục tiêu: Kết nối unit economics với quyết định chiến lược thực tế.
    
*   Lý thuyết: Dùng unit economics để trả lời "có nên mở rộng sang thị trường/phân khúc mới" - liên hệ Real Options đã học Phase 7.
    
*   Thực hành: Phân tích unit economics của 1 phân khúc khách hàng mới, đưa ra khuyến nghị mở rộng hay không dựa trên payback period mục tiêu.
    

**Ngày 784: Competitive Analysis Framework**

*   Mục tiêu: Có công cụ phân tích vị thế cạnh tranh.
    
*   Lý thuyết: Porter's Five Forces (ở mức tổng quan) áp dụng cho phân tích ngành.
    
*   Thực hành: Áp dụng Five Forces phân tích 1 ngành tự chọn, kết hợp với Game Theory đã học Phase 7 để dự đoán động thái đối thủ.
    

**Ngày 785: Scenario Planning cho Strategy (ôn lại & ứng dụng)**

*   Mục tiêu: Áp dụng lại kỹ thuật đã học sâu ở Phase 7 vào bối cảnh strategy analytics.
    
*   Lý thuyết: Không có lý thuyết mới - kết nối lại Ngày 659-662.
    
*   Thực hành: Xây scenario planning cho quyết định market sizing/unit economics đã phân tích, đánh giá độ nhạy của kết luận qua các kịch bản.
    

**Ngày 786: Dự án Strategy Analytics tổng hợp**

*   Mục tiêu: Tổng hợp tuần 5-6.
    
*   Lý thuyết: Checklist 1 bản phân tích chiến lược thị trường đầy đủ (market sizing + unit economics + competitive analysis).
    
*   Thực hành: Viết báo cáo chiến lược hoàn chỉnh cho 1 quyết định "có nên gia nhập thị trường mới" (market sizing + unit economics + competitive landscape + scenario planning).
    

## Tuần 7-8 - Portfolio & Interview Prep *(bổ sung)* (Ngày 787-796)

**Ngày 787: Đánh giá lại Portfolio GitHub**

*   Mục tiêu: Rà soát toàn bộ portfolio đã xây xuyên suốt hành trình.
    
*   Lý thuyết: Tiêu chí 1 portfolio Decision Scientist ấn tượng: đa dạng kỹ năng (kỹ thuật + business), README rõ ràng, kết quả định lượng được.
    
*   Thực hành: Liệt kê toàn bộ project đã làm từ Phase 0-8, đánh giá project nào nên giữ lại/nâng cấp/loại bỏ khỏi portfolio chính.
    

**Ngày 788: Viết README Portfolio Tổng thể**

*   Mục tiêu: Tạo "cửa ngõ" đầu tiên nhà tuyển dụng nhìn thấy.
    
*   Lý thuyết: Cấu trúc README tổng (giới thiệu, lộ trình học, các project nổi bật kèm link, kỹ năng theo từng nhóm).
    
*   Thực hành: Viết README chính cho repo portfolio tổng hợp, link tới các project quan trọng nhất từ mỗi Phase.
    

**Ngày 789: Xây dựng Case Study Portfolio (Storytelling cho từng dự án)**

*   Mục tiêu: Trình bày mỗi dự án theo hướng thuyết phục nhà tuyển dụng, không chỉ là code.
    
*   Lý thuyết: Cấu trúc case study: bối cảnh → thách thức → phương pháp → kết quả định lượng → bài học.
    
*   Thực hành: Viết case study hoàn chỉnh cho 3 project ấn tượng nhất (VD: capstone Phase 3, Phase 5, Phase 6) theo cấu trúc trên.
    

**Ngày 790: Chuẩn bị LinkedIn & Resume**

*   Mục tiêu: Đồng bộ hóa hồ sơ cá nhân với portfolio kỹ thuật.
    
*   Lý thuyết: Cách viết resume cho vai trò lai (Analytics Engineer/Data Engineer/Decision Scientist) - nhấn mạnh business impact, không chỉ liệt kê công nghệ.
    
*   Thực hành: Viết lại 5 bullet point resume mô tả các project chính, mỗi bullet có số liệu định lượng kết quả.
    

**Ngày 791: Case Interview - Framework cơ bản**

*   Mục tiêu: Chuẩn bị cho vòng phỏng vấn case study phổ biến ở các công ty lớn.
    
*   Lý thuyết: Cấu trúc trả lời case interview: làm rõ vấn đề → xây framework → phân tích → khuyến nghị.
    
*   Thực hành: Luyện tập 1 case interview mẫu (VD: "doanh thu công ty X giảm 20%, bạn sẽ điều tra thế nào") theo framework trên.
    

**Ngày 792: Case Interview - Luyện tập Market Sizing & Estimation**

*   Mục tiêu: Áp dụng kỹ năng Ngày 779-781 vào bối cảnh phỏng vấn có áp lực thời gian.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Luyện tập 2-3 câu hỏi market sizing trong thời gian giới hạn (10-15 phút/câu), tự đánh giá theo checklist rõ ràng giả định, logic chặt chẽ.
    

**Ngày 793: Technical Interview - SQL & Python Live Coding**

*   Mục tiêu: Ôn lại kỹ năng kỹ thuật cốt lõi dưới áp lực phỏng vấn.
    
*   Lý thuyết: Không có lý thuyết mới - ôn lại Phase 0.
    
*   Thực hành: Luyện tập 3-5 bài SQL/Python trên nền tảng luyện phỏng vấn (LeetCode/StrataScratch), tập trung vào window function và pandas.
    

**Ngày 794: Take-home Assignment - Chiến lược Làm bài**

*   Mục tiêu: Chuẩn bị cho dạng bài tập về nhà thường gặp ở vòng cuối phỏng vấn Analytics/Data Science.
    
*   Lý thuyết: Tiêu chí đánh giá take-home thường gặp: chất lượng code, rõ ràng trong communication, business insight (không chỉ đúng kỹ thuật).
    
*   Thực hành: Làm thử 1 take-home assignment mẫu công khai (nhiều công ty đăng case study cũ), tự chấm theo tiêu chí trên.
    

**Ngày 795: Behavioral Interview - STAR Method**

*   Mục tiêu: Chuẩn bị cho câu hỏi hành vi ("kể về lần bạn...").
    
*   Lý thuyết: STAR (Situation, Task, Action, Result) framework.
    
*   Thực hành: Viết 5 câu chuyện STAR từ chính hành trình học tập/project đã làm (VD: "kể về lần dữ liệu mâu thuẫn với giả thuyết ban đầu của bạn" - dùng ví dụ từ Phase 5).
    

**Ngày 796: Mock Interview Tổng hợp**

*   Mục tiêu: Tổng hợp tuần 7-8.
    
*   Lý thuyết: Checklist chuẩn bị phỏng vấn toàn diện (technical + case + behavioral + portfolio walkthrough).
    
*   Thực hành: Tự mô phỏng 1 buổi phỏng vấn đầy đủ 45 phút (giới thiệu bản thân + 1 câu hỏi kỹ thuật + 1 case nhỏ + 1 câu hỏi hành vi), ghi âm lại và tự đánh giá.
    

## Tuần 9 - Capstone Phase 9 (Ngày 797-799)

**Ngày 797: Capstone - Chọn 1 Quyết định Kinh doanh Lớn để Trình bày**

*   Mục tiêu: Tổng hợp toàn bộ Phase 9 vào 1 sản phẩm cuối cùng.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Chọn 1 capstone ấn tượng nhất từ Phase 3-8, lên kế hoạch trình bày đầy đủ theo chuẩn executive (memo + slide + case study portfolio).
    

**Ngày 798: Capstone - Viết Memo + Slide + Chuẩn bị Trình bày**

*   Mục tiêu: Sản xuất bộ tài liệu hoàn chỉnh.
    
*   Lý thuyết: Không có lý thuyết mới.
    
*   Thực hành: Hoàn thiện Amazon-style memo, executive slide deck, và case study portfolio cho project đã chọn.
    

**Ngày 799: Capstone - Trình bày thử & Tổng kết Phase 9**

*   Mục tiêu: Kết thúc Phase 9, chuẩn bị bước vào chuỗi Capstone lớn cuối cùng của toàn bộ roadmap.
    
*   Lý thuyết: Nhìn lại hành trình Phase 9 - kỹ năng communication/influence chính là thứ biến 1 kỹ thuật viên giỏi thành người thực sự dẫn dắt quyết định trong tổ chức.
    
*   Thực hành: Trình bày thử (trước gương, quay video, hoặc trước 1 người khác) toàn bộ project đã chuẩn bị, tự đánh giá và tinh chỉnh lần cuối; cập nhật portfolio; lên kế hoạch cho chuỗi Capstone 1-4 và Phase 10.
