Ôn tập tổng hợp: từ sắp xếp tới tối ưu

Checkpoint giữa chặng app: rà soát 24 app đã build, vá lỗ hổng, benchmark lại, chuẩn bị nền cho 5 capstone lớn.
Trung bìnhThuật toán ~90 phút

Giới thiệu

Bài này rà soát 24 app đã build. Vá lỗi cũ rồi mới bước vào 5 capstone lớn.

Kiến thức cần nhớ

Chia 24 app thành 4 cụm

  • Cụm tìm kiếm gợi ý: autocomplete, search, spell, recsys.
  • Cụm hạ tầng: limiter, top-K, cache, index, mapreduce, pipeline.
  • Cụm đồ thị tối ưu: fraud, routing, MST, TSP, embedding.
  • Ví dụ đời thường: tổng vệ sinh 4 phòng trước khi đón khách.

Checklist rà mỗi app

  • App còn chạy 1 lệnh không.
  • Benchmark còn tái lập không.
  • README có metric và cạm bẫy không.
  • Test có chứng minh đúng không.

Vá lỗi và chốt portfolio

  • App đỏ thì ghi thẻ lỗi gồm triệu chứng và mức ưu tiên.
  • Vá ít nhất 3 thẻ quan trọng nhất trong ngày.
  • Chọn 3 app mạnh nhất mang đi phỏng vấn.
  • Mỗi app viết pitch 5 câu nêu khó kỹ thuật và metric.
Cột kiểm traXanhĐỏ
Chạy được1 lệnh lên ngayLỗi không rõ
BenchmarkTái lập chênh dưới 15%Thiếu số liệu
TestTrước đỏ sau xanhKhông có test

Ví dụ

  • Input: chạy smoke test 24 app. Output: bảng 24 hàng ghi rõ app nào xanh đỏ.
  • Giải thích: không app nào ở trạng thái không biết chạy hay hỏng.
  • Input: benchmark lại 8 metric lõi. Output: chênh dưới 15% so với lần đầu.
  • Giải thích: metric ổn định chứng tỏ app tái lập được.

💻 Bài tập

Không có kiến thức mới. Hôm nay rà soát toàn bộ app ngày 126-149. Nộp vào day-150-review/.

Bài 1: Kiểm kê

Tạo inventory.md với 1 bảng cho mọi app đã làm (ngày 126 tới 149):

AppChạy bằng 1 lệnh?Test pass?Benchmark tái lập?README có metric?Trạng thái

Với mỗi app, clone repo sang thư mục mới, làm theo đúng README.md. Ghi lại mọi chỗ phải làm thêm ngoài hướng dẫn. Trạng thái: xanh (ổn), vàng (chạy nhưng thiếu), đỏ (hỏng).

Bài 2: Thẻ lỗi và sửa

  1. Mỗi vấn đề là 1 thẻ trong issues.md: tiêu đề, triệu chứng, cách tái hiện, mức ưu tiên (P0 hỏng, P1 sai số liệu, P2 thiếu tài liệu).
  2. Sửa ít nhất 3 thẻ P0 hoặc P1. Mỗi bản sửa là 1 commit có tham chiếu thẻ.
  3. Thêm 1 script run_all_tests.sh chạy test của mọi app, in bảng tổng hợp.

Bài 3: Ôn tập chủ động (nâng cao)

  1. Không nhìn code, viết lại từ đầu trong 60 phút: LRU cache, Dijkstra với heap, và Union-Find. Chạy test cũ trên bản mới.
  2. Ghi lại chỗ bí, chỗ sai, thời gian mỗi bài vào recall.md.
  3. Chọn 3 app mạnh nhất để mang đi phỏng vấn. Với mỗi app viết 5 dòng: vấn đề, kiến trúc, con số ấn tượng nhất, đánh đổi lớn nhất, việc sẽ làm tiếp.

✅ Tiêu chí hoàn thành

  • inventory.md đủ mọi app, có trạng thái.
  • Ít nhất 3 thẻ P0/P1 được sửa, commit có tham chiếu.
  • run_all_tests.sh chạy được.
  • 3 bài viết lại pass test cũ, có recall.md.

❓ Câu hỏi ôn tập

  • 24 app chia 4 cụm gồm những cụm nào?
  • Checklist rà mỗi app có 4 mục gì?
  • Bản vá đạt cần có gì kèm theo?
  • Portfolio 3 app chọn theo tiêu chí nào?

🌕 Bạn đã hoàn thành ngày 150. Làm hết bài tập phía trên rồi sang ngày tiếp theo.

Bớt paste mù, hiểu sâu từng dòng mình viết.

180 Days Challenge. 180 ngày cai nghiện vibe code.