Tự viết từng dòng. Hiểu từng dòng.
Mỗi ngày một bài: cấu trúc dữ liệu, thuật toán, design pattern. Đề rõ, test rõ, tự code bằng tay.
001 / Dynamic Array bằng C
DễBài 1: cài đặt đủ API, không leak, không crash.
- da_init(a, cap)O(1)
- da_push(a, x)O(1)*
- da_insert(a, i, x)O(n)
- da_erase(a, i)O(n)
- da_get(a, i, &out)O(1)
- da_destroy(a)O(1)
Xem đề đầy đủ
- Thử thách
- 180
- Bài nền tảng
- 11
- Giờ thực hành
- ~230
4 luật chơi
Không ai chấm bài cho bạn. Repo và note của bạn là bằng chứng.
- 1
Tự tạo repo riêng
Web tĩnh, không tài khoản, không lưu tiến độ. Repo của bạn giữ code, note và dấu ngày đã xong.
Xem cách bắt đầu - 2
Tự viết note mỗi ngày
Học xong thì diễn đạt lại ý chính bằng lời của mình. Note copy-paste không tính là hiểu.
- 3
Tự code bằng tay
Mọi bài tập tự gõ, tự chạy, tự sửa lỗi. Đọc code người khác không thay được việc tự viết.
- 4
Không dùng AI để code
Không paste code AI vào bài làm. Bí thật thì hỏi ý tưởng, rồi tự viết lại từ đầu.
Một ngày học, 45-60 phút
1. Ôn tiên quyết
Link thẳng tới bài nền tảng cần nhớ.
2. Học trọng tâm
Ý tưởng, độ phức tạp, bảng đánh đổi.
3. Làm bài tập
Đặc tả hàm, ràng buộc, test mẫu. Từ cơ bản tới nâng cao.
4. Tự kiểm tra
Checklist tiêu chí hoàn thành và câu hỏi ôn tập.
Lộ trình 5 chặng
Độ khó tăng dần. Bấm một chặng để xem các ngày.
Ngày 1-21
Khởi động
Mảng, linked list, stack, queue, cây, đệ quy, sắp xếp, tìm kiếm. Pattern SOLID, Strategy, Observer. Chốt bằng mini project benchmark sắp xếp.
Ngày 22-64
Nền tảng mở rộng
Heap, bảng băm, trie, Bloom filter, Union-Find, LRU cache, đồ thị BFS/DFS/Dijkstra, clustering, học máy nhập môn. Pattern Factory, Command, Template.
Ngày 65-118
Nâng cao
Quy hoạch động, tối ưu SA/GA, đồ thị khó, mạng nơ-ron, Transformer. Pattern State, Proxy, MVC và 3 project vận dụng.
Ngày 119-125
Chuyên gia
Similarity search, đồ thị phẳng, vẽ đồ thị, giải thuật di truyền nâng cao, Interpreter, Visitor.
Ngày 126-180
Dự án thực tế
App hoàn chỉnh: autocomplete, search engine, rate limiter, fraud pipeline. Sau đó capstone, phỏng vấn, system design và demo day.
Sẵn sàng cho ngày đầu tiên?
Ôn Big-O, mở editor, tự cài đặt Dynamic Array bằng C. Khoảng 60 phút.