180 thử thách

Mỗi ô là một ngày: lý thuyết trọng tâm, bài tập có đặc tả hàm, test mẫu và tiêu chí hoàn thành. Đi theo thứ tự hoặc chọn chặng. Nhấn Ctrl+K để tìm nhanh.

001

Dynamic Array: mảng động và cách tự cài đặt

Hiểu size, capacity và cơ chế nhân đôi, tự cài đặt Dynamic Array bằng C/C++.

DễCấu trúc dữ liệu ~60 phút
002

Linked list đơn, đôi và so sánh với mảng

Hiểu nút, con trỏ next và prev, phân biệt linked list đơn với đôi, và biết khi nào danh sách liên kết thắng mảng.

DễCấu trúc dữ liệu ~45 phút
003

SOLID, Open-Closed và Dependency Inversion thực hành

Ôn lại năm nguyên lý SOLID qua các câu chuyện thực tế, đào sâu Open-Closed và Dependency Inversion với SimUDuck và Pizza Store.

Trung bìnhDesign pattern ~60 phút
004

Stack, queue, deque: LIFO, FIFO và ứng dụng

Nắm nguyên tắc LIFO của ngăn xếp và FIFO của hàng đợi, các thao tác chuẩn cùng độ phức tạp, qua hai ẩn dụ đời thực trong bài này.

DễCấu trúc dữ liệu ~45 phút
005

Dictionary, set và ý tưởng băm

Hiểu cặp khóa giá trị của dictionary, tính duy nhất của set, vai trò hàm băm, và khi nào dùng cấu trúc nào.

DễCấu trúc dữ liệu ~45 phút
006

Strategy: đóng gói họ thuật toán bay và kêu của vịt

Định nghĩa Strategy, cấu trúc họ thuật toán hoán đổi được, và toàn bộ hành trình refactor SimUDuck từ kế thừa sụp đổ tới ủy thác linh hoạt.

Trung bìnhDesign pattern ~60 phút
007

Cây và binary search tree: thuật ngữ và bất biến

Học từ vựng của cây, các loại cây nhị phân, và bất biến tìm kiếm làm nền cho treap, heap và cây quyết định.

DễCấu trúc dữ liệu ~45 phút
008

Thực hành đệ quy: base case, trace và memo

Biến đệ quy từ nỗi sợ thành công cụ qua điều kiện dừng, truy vết ngăn xếp lời gọi và kỹ thuật ghi nhớ.

DễThuật toán ~45 phút
009

Observer: publisher-subscriber và loose coupling

Định nghĩa Observer, quan hệ một-nhiều, nguyên lý loose coupling và câu chuyện trạm thời tiết với ba bảng hiển thị.

Trung bìnhDesign pattern ~60 phút
010

Bộ ba sắp xếp O(n²): bubble, selection, insertion

Cài đặt và phân tích ba thuật toán sắp xếp cơ bản, hiểu cờ hiệu dừng sớm, số lần đổi chỗ và khi nào chúng vẫn là lựa chọn đúng.

DễThuật toán ~90 phút
011

Sắp xếp hiệu quả: merge, shell, quick và cách chọn

Học ba thuật toán sắp xếp hiệu quả với chia để trị, so sánh kề cách quãng và chốt pivot, cùng nghệ thuật chọn thuật toán.

DễThuật toán ~90 phút
012

Decorator: Starbuzz Coffee và chuỗi bọc

Định nghĩa Decorator, nguyên lý mở rộng không sửa đổi, và cách Starbuzz cộng dồn giá topping bằng chuỗi bọc.

Trung bìnhDesign pattern ~60 phút
013

Tìm kiếm: linear, binary và interpolation

So sánh ba chiến lược tìm kiếm từ quét cạn tới chặt đôi và nội suy vị trí, cùng điều kiện dữ liệu mỗi thuật toán đòi hỏi.

DễThuật toán ~60 phút
014

Ma trận và bảng dữ liệu trong thuật toán

Làm chủ ma trận và bảng dữ liệu dạng hàng cột cùng độ phức tạp thao tác: hàng là điểm dữ liệu, cột là thuộc tính, trục xác định hướng tính toán.

DễCấu trúc dữ liệu ~45 phút
015

Observer nâng cao: pull vs push và trạm thời tiết

So sánh mô hình đẩy và kéo dữ liệu, bài toán bảng chỉ cần một phần số đo, và Observer có sẵn trong thư viện.

Trung bìnhDesign pattern ~60 phút
016

Brute-force và greedy nhập môn qua TSP

Dùng bài toán người bán hàng rong để hiểu vét cạn tối ưu nhưng mũ giai thừa và tham lam nhanh nhưng chỉ gần đúng.

DễThuật toán ~60 phút
017

Quy hoạch động: bài toán con gối nhau và memo

Hiểu chiến lược từ dưới lên của Bellman với đệ quy và ghi nhớ, hai điều kiện áp dụng và các bài toán tối ưu kinh điển.

DễThuật toán ~60 phút
018

Simple Factory: đóng gói khởi tạo đối tượng pizza

Vì sao từ khóa tạo mới gây cứng nhắc, cách gom khởi tạo vào một xưởng đơn giản qua câu chuyện Pizza Store.

Trung bìnhDesign pattern ~60 phút
019

Singleton: Chocolate Factory và an toàn đa luồng

Định nghĩa Singleton, câu chuyện nồi sô cô la, ba biến thể đa luồng và tranh cãi khi nào không nên dùng.

Trung bìnhDesign pattern ~60 phút
020

Adapter: vịt-gà tây và object vs class adapter

Định nghĩa Adapter, câu chuyện vịt kêu quạc gặp gà tây kêu cục tác, và so sánh bộ điều hợp đối tượng với bộ điều hợp lớp.

Trung bìnhDesign pattern ~60 phút
021

Mini project 1: benchmark sắp xếp và cấu trúc cơ bản

Tổng hợp tuần đầu bằng dự án đo hiệu năng sắp xếp và cấu trúc cơ bản, từ thiết kế thí nghiệm tới báo cáo.

Trung bìnhThuật toán ~120 phút
022

Học không giám sát - vòng đời, khoảng cách, phân khúc

Tổng quan học không giám sát: vòng đời khai phá sáu giai đoạn, ba khoảng cách Euclid Manhattan cosine và phân khúc marketing.

Trung bìnhThuật toán ~60 phút
023

Priority queue và binary heap: API và biểu diễn mảng

Hiểu hàng đợi ưu tiên qua bài toán theo dõi lỗi, hợp đồng API, min-heap max-heap và cách mảng biểu diễn cây hoàn chỉnh.

Trung bìnhCấu trúc dữ liệu ~60 phút
024

Thao tác heap: BubbleUp, PushDown, Heapify, Top, Update

Mổ xẻ từng thao tác heap từ đẩy lên, đẩy xuống tới dựng heap tuyến tính, kèm phân tích số bước logarit.

Trung bìnhCấu trúc dữ liệu ~60 phút
025

Factory Method: framework và creator song song product

Định nghĩa Factory Method, khung cửa hàng nhượng quyền, và cấu trúc creator song song product qua New York và Chicago.

Trung bìnhDesign pattern ~60 phút
026

D-ary heap, branching factor và bài toán top-K

Mở rộng heap nhị phân thành heap đa nhánh, phân tích nhánh tối ưu và áp dụng vào top-K, Dijkstra, Prim, Huffman.

Trung bìnhCấu trúc dữ liệu ~60 phút
027

Mã Huffman: nén tham lam bằng heap

Xây cây mã tiền tố tối ưu từ tần suất ký tự bằng thuật toán tham lam bottom-up với min-heap.

Trung bìnhThuật toán ~60 phút
028

Command: remote control và khe cắm lệnh

Định nghĩa Command, chiếc remote bảy khe, và cách tách bên bấm nút khỏi bên làm việc bằng đối tượng lệnh.

Trung bìnhDesign pattern ~60 phút
029

Treap: BST kết hợp heap và phép xoay

Khám phá cấu trúc lai giữa cây tìm kiếm và heap qua bài toán đa chỉ mục, phép xoay và tìm kiếm.

Trung bìnhCấu trúc dữ liệu ~60 phút
030

Bloom filter: cơ chế bit, false positive và ứng dụng

Hiểu bộ lọc Bloom qua bài toán danh bạ, cơ chế mảng bit và k hàm băm, công thức dương tính giả và các biến thể.

Trung bìnhCấu trúc dữ liệu ~60 phút
031

Facade: rạp hát tại gia và Least Knowledge

Định nghĩa Facade, quy trình xem phim mười bước gom thành một nút, và nguyên lý chỉ nói chuyện với bạn thân.

Trung bìnhDesign pattern ~60 phút
032

Disjoint set: bài toán distinct subsets và cài đặt naive

Làm quen tập rời nhau qua bài toán gom nhóm, hợp đồng API và cài đặt ngây thơ làm mốc so sánh.

Trung bìnhCấu trúc dữ liệu ~45 phút
033

Union-Find tối ưu và Kruskal tìm cây khung

Nâng disjoint set bằng cây, nén đường đi và hợp theo hạng, rồi dùng nó xây cây khung nhỏ nhất bằng Kruskal.

Trung bìnhThuật toán ~60 phút
034

Template Method: khung pha chế và Hollywood principle

Định nghĩa Template Method, khung pha trà cà phê với móc treo, và nguyên tắc đừng gọi chúng tôi chúng tôi sẽ gọi bạn.

Trung bìnhDesign pattern ~60 phút
035

Trie: nút, cạnh, search, insert, remove, prefix

Học cây tiền tố lưu chuỗi theo ký tự chung qua bài toán kiểm tra chính tả, cùng bốn thao tác và hai truy vấn tiền tố.

Trung bìnhCấu trúc dữ liệu ~60 phút
036

Radix trie nén cạnh và ứng dụng autocomplete, spell-check

Nén trie thành radix trie gọn nhẹ, rồi khai thác autocomplete, kiểm tra chính tả, T9 và sắp xếp chuỗi.

Trung bìnhCấu trúc dữ liệu ~60 phút
037

Iterator: sáp nhập quán ăn và single responsibility

Định nghĩa Iterator, hai quán ăn hai cách lưu thực đơn, và cách tách trách nhiệm duyệt khỏi trách nhiệm phục vụ.

Trung bìnhDesign pattern ~60 phút
038

Hash table nâng cao: hàm băm và xử lý xung đột

Đào sâu hàm băm tốt, hai họ xử lý xung đột, hệ số tải và nghệ thuật so sánh bảng băm với cây và Bloom filter.

Trung bìnhCấu trúc dữ liệu ~60 phút
039

LRU cache: thứ tự thời gian và đuổi dữ liệu cũ

Xây cache ghi nhớ kết quả qua bài toán tóm tắt mạng xã hội, xử lý tươi mới, bất đồng bộ và đuổi cũ nhất.

Trung bìnhCấu trúc dữ liệu ~60 phút
040

Biểu diễn đồ thị và BFS tìm đường ngắn nhất

Biểu diễn đồ thị bằng danh sách kề, cài đặt BFS theo lớp và dùng nó tìm đường ngắn nhất trên đồ thị không trọng số.

Trung bìnhThuật toán ~60 phút
041

DFS, ngăn xếp và so sánh với BFS

Hiểu DFS đào sâu bằng ngăn xếp và đệ quy, truy vết quay lui, và bảng so sánh toàn diện với BFS.

Trung bìnhThuật toán ~60 phút
042

Dijkstra với heap cho đồ thị có trọng số

Mở rộng BFS sang cạnh có trọng số bằng Dijkstra, dùng heap lấy đỉnh gần nhất và nới lỏng khoảng cách.

Trung bìnhThuật toán ~60 phút
043

A* heuristic và Prim cây khung nhỏ nhất

Thuật toán A* với hàm heuristic chấp nhận được, so sánh với Dijkstra, và thuật toán Prim tìm cây khung nhỏ nhất bằng tính chất lát cắt.

Trung bìnhThuật toán ~60 phút
044

Egonet và centrality - degree, betweenness, closeness, eigenvector

Mạng lưới lấy ego làm trung tâm, vùng lân cận một và hai bước, tam giác, mật độ, và bốn độ đo centrality kèm quy trình phân tích chung.

Trung bìnhThuật toán ~60 phút
045

K-d tree - luân phiên chiều, bất biến và cân bằng

Cây k-d cho dữ liệu nhiều chiều: luân phiên chiều phân hoạch, bất biến cây tìm kiếm, xây dựng cân bằng và tầm quan trọng của cân bằng.

Trung bìnhCấu trúc dữ liệu ~60 phút
046

Ứng dụng NN - nearest hub, giảm màu ảnh, hạt vật lý

Bốn ứng dụng tìm kiếm lân cận: trạm trung chuyển gần nhất, bài toán tập trung và phân tán, giảm màu ảnh, tương tác hạt và tối ưu truy vấn đa chiều.

Trung bìnhThuật toán ~45 phút
047

K-means - khởi tạo, hội tụ và curse of dimensionality

Thuật toán gom cụm K-means: logic vòng lặp, khởi tạo centroid, điều kiện dừng, hạn chế, lời nguyền chiều không gian và tăng tốc bằng k-d tree.

Trung bìnhThuật toán ~60 phút
048

DBSCAN - density-reachable, lõi, biên, nhiễu

Gom cụm dựa mật độ DBSCAN: điểm lõi biên nhiễu, trực tiếp và lan truyền mật độ, thuật toán, cài đặt và ưu nhược điểm.

Trung bìnhThuật toán ~60 phút
049

Đánh giá clustering - silhouette và diễn giải

Đo chất lượng gom cụm không nhãn: silhouette từng điểm và toàn cục, diễn giải kết quả, chọn k và bẫy diễn giải sai.

Trung bìnhThuật toán ~45 phút
050

MapReduce - map, reduce qua ví dụ Donald Duck

Mô hình MapReduce qua câu chuyện Donald Duck: song song và phân tán, ánh xạ rồi rút gọn, shuffle và những gì ẩn dưới nắp capo.

Trung bìnhThuật toán ~60 phút
051

Luật giỏ hàng - Apriori và FP-growth

Khai phá luật kết hợp cho giỏ hàng: support confidence lift, ba loại luật, Apriori, hạn chế và FP-growth với cây FP.

Trung bìnhThuật toán ~60 phút
052

Học có giám sát - pipeline, scaling và phân loại bài toán

Tổng quan học có giám sát: điều kiện cho phép, phân biệt phân loại và hồi quy, pipeline đặc trưng, scaling và thử thách classifiers.

Trung bìnhThuật toán ~60 phút
053

Decision tree - split, impurity và pruning

Cây quyết định phân loại: chọn điểm cắt, độ tạp impurity, điểm mạnh yếu, ca sử dụng và cắt tỉa chống overfitting.

Trung bìnhThuật toán ~60 phút
054

Naive Bayes và mô hình xác suất cho text

Bộ phân loại Bayes ngây thơ: định lý Bayes, luật nhân cộng xác suất, giả thiết độc lập và bài thi văn bản.

Trung bìnhThuật toán ~60 phút
055

Hồi quy tuyến tính, bội và logistic

Nhánh hồi quy: thử thách regressors, hồi quy đơn và bội, đánh giá regressors, cây hồi quy, boosting hồi quy và dự báo thời tiết.

Trung bìnhThuật toán ~60 phút
056

Đánh giá mô hình - confusion matrix, precision, recall, overfitting

Chốt nhánh giám sát: ma trận nhầm lẫn, precision recall và đánh đổi, overfitting, ba phần dữ liệu và đọc kết quả classifiers.

Trung bìnhThuật toán ~60 phút
057

NLP cơ bản: tokenize, BoW và TF-IDF

Tiền xử lý văn bản, tách từ, làm sạch, ma trận thuật ngữ tài liệu, TF-IDF và diễn giải kết quả trên ví dụ minh họa.

Trung bìnhThuật toán ~60 phút
058

Gợi ý content-based và đồng xuất hiện

Hồ sơ món, vector đặc trưng, tương đồng nội dung, ma trận đồng xuất hiện và gợi ý không cá nhân hóa.

Trung bìnhThuật toán ~60 phút
059

Collaborative filtering user-based và item-based

Ma trận user item, láng giềng gần nhất, tương đồng Pearson cosine, dự đoán xếp hạng và ví dụ phim Avatar trong bài này.

Trung bìnhThuật toán ~60 phút
060

CAP theorem và lưu trữ phân tán

Nhất quán sẵn sàng chịu phân vùng, ba họ CA AP CP, lưu trữ phân tán và ví dụ AWS trong bài này.

Trung bìnhThuật toán ~60 phút
061

Nén dữ liệu: LZ77 và định dạng nâng cao

Nén không mất mát, Huffman biến dài, LZ77 từ điển trượt và định dạng hiện đại kèm bài toán AWS.

Trung bìnhThuật toán ~60 phút
062

Mật mã cơ bản: thay thế, hoán vị, băm, đối xứng

Thuật ngữ mật mã, mã thay thế hoán vị, thám mã, hàm băm MD5 SHA và mã đối xứng.

Trung bìnhThuật toán ~60 phút
063

Explainability: hộp trắng, hộp đen và giảm bias

Thất bại Tay 2016, giải thích được thuật toán, hộp trắng hộp đen, đạo đức bằng chứng và giảm thiên lệch.

Trung bìnhThuật toán ~60 phút
064

Tổ chức patterns C/S/B và anti-patterns

Bản đồ ba nhóm tạo sinh cấu trúc hành vi, cách tra cứu pattern theo nhu cầu, và những phản pattern cần tránh.

Trung bìnhDesign pattern ~45 phút
065

Treap nâng cao: insert, delete và cân bằng kỳ vọng

Hoàn thiện chèn xóa treap bằng xoay, dùng ưu tiên ngẫu nhiên để ép cân bằng kỳ vọng logarit và biết miền ứng dụng.

KhóCấu trúc dữ liệu ~60 phút
066

LFU, freshness, async và khóa đồng bộ trong cache

So sánh LFU với LRU, cách dùng cache hiệu quả, đồng bộ hóa bằng khóa và các ứng dụng cache phân tán.

KhóCấu trúc dữ liệu ~60 phút
067

Composite: thực đơn cây, trong suốt vs an toàn

Định nghĩa Composite, thực đơn lồng thực đơn con, và đánh đổi giữa trong suốt dễ dùng với an toàn đúng kiểu.

KhóDesign pattern ~60 phút
068

Kết hợp Iterator và Composite duyệt cây đệ quy

Bộ duyệt ngoài cho cây thực đơn, ngăn xếp duyệt sâu dần, và sức mạnh khi hai pattern cộng hưởng.

KhóDesign pattern ~60 phút
069

Nearest neighbor và region search trên k-d tree

Truy vấn nâng cao trên cây k-d: xóa nút, lân cận gần nhất bằng cắt tỉa siêu cầu, tìm kiếm vùng và bảng tổng kết mọi phương thức.

KhóThuật toán ~60 phút
070

Bài toán nearest neighbor và R-tree indexing

Từ cây B tới R-tree lập chỉ mục không gian: chèn điểm, tách nút tràn, tìm kiếm và con đường tới cây tương đồng SS-tree.

KhóCấu trúc dữ liệu ~60 phút
071

Decorator thực tế: thư viện vào-ra và tự viết decorator

Nhìn Decorator trong thư viện vào ra chuẩn, cách bọc luồng dữ liệu chồng nhiều tầng, và bài tập tự viết decorator chữ thường.

KhóDesign pattern ~60 phút
072

Case study phát hiện gian lận bằng SNA và watchtower

Phân tích gian lận trên mạng xã hội: phân tích đơn giản, hai hạn chế, phương pháp tháp canh với chấm điểm kết quả tiêu cực và bậc nghi ngờ.

KhóThuật toán ~60 phút
073

PageRank lan truyền điểm số và damping

Thuật toán PageRank của Larry Page và Sergey Brin: người lướt ngẫu nhiên, hệ số damping 0.85, hai thành phần liên quan và không liên quan tới truy vấn.

KhóThuật toán ~60 phút
074

Abstract Factory: họ nguyên liệu và vùng miền

Định nghĩa Abstract Factory, xưởng nguyên liệu theo vùng, và cách pizza dùng họ nguyên liệu mà không biết tên cụ thể.

KhóDesign pattern ~60 phút
075

So sánh 3 factory và nghịch lý mở rộng

Đặt Simple Factory, Factory Method và Abstract Factory cạnh nhau, chốt nghịch lý thêm họ dễ thêm món khó và cẩm nang chọn.

KhóDesign pattern ~60 phút
076

Quy hoạch tuyến tính - hàm mục tiêu, ràng buộc, capacity planning

Thiết kế thuật toán bằng quy hoạch tuyến tính: hàm mục tiêu, ràng buộc, và bài toán hoạch định năng lực với ví dụ xưởng sản xuất.

KhóThuật toán ~60 phút
077

Quy hoạch động nâng cao - overlapping, tái cấu trúc nghiệm

Chiến lược quy hoạch động: bài toán con gối nhau, cấu trúc con tối ưu, ghi nhớ, bảng phương án và tái cấu trúc nghiệm tối ưu.

KhóThuật toán ~60 phút
078

TSP dưới 3 chiến lược - brute-force, greedy, DP

Bài toán người bán hàng rong dưới ba chiến lược vét cạn, tham lam và quy hoạch động Held-Karp, kèm so sánh chất lượng và thời gian.

KhóThuật toán ~60 phút
079

Đồ thị phẳng: nhúng và định lý Kuratowski

Nhúng đồ thị, đồ thị đầy đủ lưỡng phân, Kuratowski thực hành và trực giác phẳng cho vẽ đồ thị.

KhóThuật toán ~60 phút
080

Mini project 2 - tuyến giao hàng BFS, DFS, Dijkstra

Dự án tổng kết chặng đồ thị: xây mạng giao hàng, so sánh BFS, DFS, Dijkstra và A* trên cùng bản đồ, đo đạc và báo cáo.

KhóThuật toán ~120 phút
081

Command: undo bằng state và macro mở tiệc

Nút hoàn tác ghi nhớ trạng thái trước khi chạy, và macro một nút mở cả rạp hát cho buổi tiệc.

KhóDesign pattern ~60 phút
082

Command thực tế: hàng đợi, logging và ActionListener

Lệnh bay vào hàng đợi yêu cầu, ghi nhật ký để phục hồi sau sự cố, và nút bấm giao diện với ActionListener.

KhóDesign pattern ~60 phút
083

OPTICS và phân cụm phân cấp

Thuật toán OPTICS: khoảng cách lõi, khoảng cách lan truyền, đồ thị lan truyền, trích cụm phân cấp và gom cụm agglomerative.

KhóThuật toán ~60 phút
084

Giảm chiều PCA - vector riêng và PC1, PC2

Giảm chiều bằng phân tích thành phần chính: phương sai lớn nhất, PC1 PC2, tỉ lệ giữ lại và hạn chế tuyến tính của PCA.

KhóThuật toán ~60 phút
085

State: máy bán kẹo và ủy thác trạng thái

Định nghĩa State, máy kẹo bốn trạng thái với rẽ nhánh khổng lồ, và cách mỗi trạng thái tự lo hành vi của mình.

KhóDesign pattern ~60 phút
086

State nâng cao: game 1/10 và State vs Strategy

Trạng thái trúng thưởng đổi sơ đồ chuyển, chia sẻ trạng thái giữa nhiều máy, và ranh giới với Strategy.

KhóDesign pattern ~60 phút
087

MapReduce cho K-means và canopy clustering

Song song hóa K-means bằng MapReduce, gom cụm canopy tiền xử lý, khởi tạo centroid thông minh và toàn cảnh MapReduce canopy.

KhóThuật toán ~60 phút
088

MapReduce DBSCAN và khởi tạo centroid

Song song hóa DBSCAN dựa mật độ bằng MapReduce: chia vùng, gộp biên, xử lý nhiễu, và tổng kết khởi tạo centroid cho cả họ gom cụm.

KhóThuật toán ~60 phút
089

Random forest, GBM và XGBoost

Học tập hợp từ cây đơn: rừng ngẫu nhiên bagging, boosting gradient, XGBoost và so sánh rừng với boosting trên thử thách classifiers.

KhóThuật toán ~60 phút
090

SVM - margin, kernel và dữ liệu phi tuyến

Máy vector hỗ trợ: lề cực đại, vector hỗ trợ, kernel cho dữ liệu phi tuyến và bài thi classifiers.

KhóThuật toán ~60 phút
091

Matrix factorization, cold start và mô hình lai

Nhân tử ẩn, Netflix Prize, cold start, sparsity, ảnh hưởng xã hội hai mặt và mô hình lai tiến hóa.

KhóThuật toán ~60 phút
092

Bridge và Builder còn lại nhưng quan trọng

Bridge tách trừu tượng khỏi cài đặt cho remote TV, Builder dựng bữa ăn từng bước thay vì constructor khổng lồ.

KhóDesign pattern ~60 phút
093

Perceptron, XOR và kiến trúc mạng noron

Perceptron Rosenblatt, giới hạn XOR của Minsky-Papert, kiến trúc nhiều lớp, hidden layer và trực giác hình học của mạng noron sâu.

KhóThuật toán ~60 phút
094

Huấn luyện mạng: loss, backprop và hàm kích hoạt

Hàm mất mát, lan truyền ngược, gradient descent, sáu hàm kích hoạt step sigmoid ReLU leaky ReLU tanh softmax và siêu tham số Keras.

KhóThuật toán ~60 phút
095

Mediator, Memento và Prototype

Trạm điều phối máy bay, vé lưu trạng thái game, và bản sao mẫu thay vì tạo mới trong ba pattern bổ sung.

KhóDesign pattern ~60 phút
096

CNN: tích chập và gộp cho ảnh

Phép tích chập, kernel, stride padding, pooling, trực giác phân cấp đặc trưng và vì sao CNN vượt MLP trên ảnh.

KhóThuật toán ~60 phút
097

GAN và transfer learning

Đối đầu sinh phân biệt, mode collapse, tái sử dụng mô hình tiền huấn luyện, đóng băng tầng và tinh chỉnh cho dữ liệu ít.

KhóThuật toán ~60 phút
098

Proxy: truy cập từ xa và virtual ảnh bìa

Định nghĩa Proxy, người đại diện cho tài nguyên ở xa qua mạng, và ảnh bìa đĩa than tải chậm với virtual proxy.

KhóDesign pattern ~60 phút
099

Word embedding và sentiment bằng Naive Bayes

Word2Vec, điểm tương đồng, ưu nhược điểm embedding dày đặc và case sentiment review nhà hàng bằng Naive Bayes.

KhóThuật toán ~60 phút
100

Mô hình chuỗi và RNN với BPTT

Dữ liệu tuần tự, bốn kiểu one-to-many many-to-one many-to-many, cell nhớ hidden state và lan truyền ngược theo thời gian.

KhóThuật toán ~60 phút
101

LSTM và GRU: cổng và trí nhớ dài hạn

Cổng quên cổng cập nhật, trạng thái cell, so sánh LSTM GRU RNN cơ bản và thí nghiệm chuỗi trong bài này.

KhóThuật toán ~60 phút
102

Attention, self-attention và Transformer

Nút thắt thought vector, cơ chế chú ý ba khía cạnh, self-attention, encoder hai chiều decoder và vì sao Transformer tỏa sáng.

KhóThuật toán ~60 phút
103

GPT vs BERT và Seq2Seq bottleneck

Autoencoder, Seq2Seq, attention trong LLM, so sánh GPT giải mã và BERT mã hóa hai chiều, mô hình sâu rộng.

KhóThuật toán ~60 phút
104

Chain of Responsibility và Flyweight

Chuỗi xử lý yêu cầu mua thư viện email, và chia sẻ nét vẽ cây trong rừng ngàn cây của Flyweight.

KhóDesign pattern ~60 phút
105

Stream processing thời gian thực và StreamSensing

Batch và stream, cửa sổ trượt, trễ và thông lượng, framework StreamSensing xử lý multimedia thời gian thực.

KhóThuật toán ~60 phút
106

Bất đối xứng, PKI, blockchain và chống MITM

Mã bất đối xứng, bắt tay SSL TLS, hạ tầng khóa công khai, blockchain và phòng chống MITM khi triển khai ML.

KhóThuật toán ~60 phút
107

MVC: compound pattern điều khiển nhịp DJ

Mô hình khung nhìn điều khiển qua ứng dụng nhịp DJ, cách ba tầng nói chuyện và compound pattern là gì.

KhóDesign pattern ~60 phút
108

Đàn vịt compound: 4 patterns trong một app

Mô phỏng vịt dùng chung Strategy Observer Decorator Factory, đếm tiếng quạc và đàn vịt an toàn.

KhóDesign pattern ~60 phút
109

Spark, in-memory và elasticity hệ thống lớn

Thuật toán quy mô lớn, cân bằng tải, co giãn đàn hồi, Spark tính toán trong bộ nhớ và ví dụ đám mây.

KhóThuật toán ~60 phút
110

Hiệu năng tính toán: Amdahl, CUDA và data locality

Giới hạn song song Amdahl, GPU CUDA, locality dữ liệu và case song song LLM lợi nhuận giảm dần.

KhóThuật toán ~60 phút
111

Gradient descent: cost, step và local minima

Heuristic số giao cắt, tối ưu hàm chi phí, bước đi, lấy mẫu ngẫu nhiên và toán hình học gradient descent.

KhóThuật toán ~60 phút
112

Gradient cho hồi quy tuyến tính và graph embedding

Gradient cho hồi quy, nhúng đồ thị, tiêu chí vẽ khác nhau và cài đặt lặp tối ưu vị trí đỉnh.

KhóThuật toán ~60 phút
113

Simulated annealing: leo lên để xuống đáy

Ủ nhiệt mô phỏng, chấp nhận nghiệm xấu có kiểm soát, chuyển ngắn dài, biến thể và so với gradient descent.

KhóThuật toán ~60 phút
114

SA cho TSP: transition, 2-opt và tỉa cành

TSP nghiệm đúng và xấp xỉ, trực quan chi phí, tỉa miền, chuyển trạng thái và so kề đổi ngẫu nhiên.

KhóThuật toán ~60 phút
115

Giải thuật di truyền: chromosome, fitness, selection

Cảm hứng tự nhiên, quần thể nhiễm sắc thể, fitness chọn lọc và khuôn mẫu thuật toán di truyền.

KhóThuật toán ~60 phút
116

Project: refactor SimUDuck bằng Strategy và Observer

Đề refactor đàn vịt kế thừa cứng nhắc sang Strategy và gắn bảng quan sát, kèm rubric chấm bốn mức.

KhóDesign pattern ~120 phút
117

Project: Pizza Store bằng Factory và Decorator

Đề xây Pizza Store đa vùng bằng Factory Method Abstract Factory và cộng topping bằng Decorator, kèm rubric.

KhóDesign pattern ~120 phút
118

Kể chuyện patterns và SOLID khi phỏng vấn

Ôn thi phỏng vấn patterns: kể SimUDuck Weather Starbuzz trong hai phút, trả lời khi nào dùng và so sánh cặp đôi dễ nhầm.

KhóDesign pattern ~60 phút
119

SS-tree và similarity search gần đúng cho ảnh

Cây tìm kiếm tương đồng SS-tree: siêu cầu, chèn bằng phương sai và hình chiếu, tách nút, xóa, truy vấn xấp xỉ và cải tiến SS cộng tree.

Chuyên giaThuật toán ~60 phút
120

Planarity testing và crossing number tối thiểu

Kiểm tra phẳng naive tới hiệu quả, số giao cắt và giao cắt thẳng, giao đoạn thẳng đa tuyến Bezier.

Chuyên giaThuật toán ~60 phút
121

SA vẽ đồ thị: force-directed và min edge crossing

Ủ nhiệt cho nhúng đồ thị, tối thiểu giao cắt cạnh và vẽ hướng lực cho sơ đồ đẹp.

Chuyên giaThuật toán ~60 phút
122

Lai, đột biến và GA cho TSP, vertex cover

Toán tử lai đột biến, GA cho TSP và phủ đỉnh tối thiểu, chỉnh tham số và ứng dụng xa hơn.

Chuyên giaThuật toán ~60 phút
123

Dynamic proxy, protection proxy và vườn thú proxy

Đại diện tạo động lúc chạy, bảo vệ theo vai trò người dùng, và bản đồ tám loại proxy trong bài này.

Chuyên giaDesign pattern ~60 phút
124

Interpreter và Visitor cho ngôn ngữ và cấu trúc

Thông dịch cú pháp đơn giản bằng cây biểu thức, và khách thăm thêm việc mới cho cấu trúc ổn định của Visitor.

Chuyên giaDesign pattern ~60 phút
125

Project: rạp hát Facade và Command macro

Đề xây mặt tiền rạp hát hai nút và remote macro mở tiệc có hoàn tác, kèm rubric chấm bốn mức.

Chuyên giaDesign pattern ~120 phút
126

App: autocomplete có Trie và cache LRU

Xây app gợi ý từ khóa hoàn chỉnh: Trie lưu từ điển, heap xếp hạng theo tần suất, LRU cache tăng tốc prefix nóng, đo p95 dưới 50ms.

KhóThuật toán ~120 phút
127

App: mini search engine với Trie, ranking và Bloom

Xây mini search engine: index ngược bằng Trie, chấm điểm TF-IDF, Bloom filter chặn từ vô nghĩa, benchmark truy vấn đa từ khóa.

KhóThuật toán ~120 phút
128

App: rate limiter bằng cache và hàng đợi

Xây rate limiter đa thuật toán: fixed window, sliding window log, token bucket, lưu trạng thái bằng cache, test chịu tảiđồng thời.

KhóCấu trúc dữ liệu ~120 phút
129

App: top-K trên stream bằng heap

Xây app top-K trending trên dòng dữ liệu chảy: min-heap K phần tử, cửa sổ trượt theo thời gian, xử lý tần suất xấp xỉ với bộ nhớ chặn trên.

KhóThuật toán ~120 phút
130

App: pipeline phát hiện gian lận bằng đồ thị

Xây pipeline chống gian lận: đồ thị giao dịch, đặc trưng egonet và centrality, luật watchtower, đánh giá precision recall trên dữ liệu gán nhãn.

Chuyên giaThuật toán ~120 phút
131

App: recommendation engine end-to-end

Xây engine gợi ý hoàn chỉnh: content-based, collaborative filtering user và item, matrix factorization, xử lý cold start, đo precision và đa dạng.

Chuyên giaThuật toán ~120 phút
132

App: pipeline clustering từ K-means tới OPTICS

Xây pipeline phân cụm end-to-end: chuẩn hóa, chọn K bằng silhouette, so K-means DBSCAN OPTICS, báo cáo metric và diễn giải cụm.

Chuyên giaThuật toán ~120 phút
133

App: wordcount MapReduce và Spark job

Xây app đếm từ phân tán: MapReduce thủ công đa tiến trình, Spark job tương đương, so sánh tốc độ, shuffle và fault tolerance.

KhóThuật toán ~120 phút
134

App: tuyến giao hàng so sánh BFS, Dijkstra, A*

Xây app tuyến giao hàng: bản đồ lưới và đồ thị thực, so BFS Dijkstra A*, đo số nút thăm và độ dài đường, trực quan 3 thuật toán.

KhóThuật toán ~120 phút
135

App: thiết kế mạng với Prim và Kruskal

Xây app thiết kế mạng cáp tối thiểu: cài Prim và Kruskal, so sánh trên đồ thị thưa và dày, kiểm tra tính đúng bằng cut property.

KhóThuật toán ~120 phút
136

App: TSP so găng greedy, SA và GA

Xây sàn đấu TSP: greedy nearest neighbor, simulated annealing với 2-opt, giải thuật di truyền, so chất lượng và thời gian trên cùng bản đồ.

Chuyên giaThuật toán ~120 phút
137

App: nhúng và vẽ đồ thị force-directed

Xây app nhúng và vẽ đồ thị: layout lò xo Fruchterman-Reingold bằng SA, graph embedding bằng gradient, đo edge crossing và trực quan.

Chuyên giaThuật toán ~120 phút
138

App: tuning siêu tham số với gradient và eval

Xây pipeline tuning: gradient descent cho hồi quy, random và grid search siêu tham số, eval chống overfit, báo cáo đường cong học.

Chuyên giaThuật toán ~120 phút
139

App: sentiment từ tokenize tới Naive Bayes

Xây app phân loại cảm xúc review: tokenizer, BoW TF-IDF, Naive Bayes tự viết, đánh giá confusion matrix, demo realtime.

KhóThuật toán ~120 phút
140

App: tìm ảnh với CNN và similarity search

Xây app tìm ảnh tương tự: trích đặc trưng CNN pretrained, index similarity bằng k-d tree và brute-force, đo recall và độ trễ.

Chuyên giaThuật toán ~120 phút
141

App: dự báo chuỗi với RNN và LSTM

Xây app dự báo chuỗi thời gian: baseline trung bình trượt, RNN tự viết với BPTT, LSTM cổng, so RMSE và vẽ dự báo nhiều bước.

Chuyên giaThuật toán ~120 phút
142

App: chat bảo mật với TLS handshake và PKI

Xây app chat bảo mật: mô phỏng bắt tay TLS, mã hóa đối xứng phiên, chữ ký PKI, demo tấn công MITM bị chặn.

Chuyên giaThuật toán ~120 phút
143

App: pipeline batch vs stream và CAP

Xây pipeline dữ liệu kép: batch đúng dần, stream realtime, đối chiếu chênh lệch, phân tích đánh đổi CAP khi node chết.

Chuyên giaThuật toán ~120 phút
144

App: hệ thống cache LRU, LFU và locks

Xây hệ thống cache đa chiến lược: LRU, LFU, TTL freshness, async load, khóa chống dogpile, benchmark hit-rate và p99.

Chuyên giaCấu trúc dữ liệu ~120 phút
145

App: index DB với B-tree, hash và Bloom

Xây engine index mini: B-tree cho range query, hash cho point lookup, Bloom chặn key vắng, so độ trễ đọc ghi.

Chuyên giaCấu trúc dữ liệu ~120 phút
146

App: spell checker với Trie và độ tương đồng

Xây app sửa chính tả: Trie từ điển, edit distance, gợi ý xếp hạng, đo precision trên lỗi gõ mẫu.

KhóThuật toán ~120 phút
147

App: AI game kẹo với State và Strategy

Xây game máy bán kẹo có AI: State quản lý vòng đời, Strategy đổi chính sách thưởng, mô phỏng ngàn ván đo doanh thu.

KhóDesign pattern ~120 phút
148

App: text editor undo với stack, Command và Memento

Xây text editor có undo redo: Command đóng gói thao tác, Memento snapshot, stack lịch sử, macro và benchmark bộ nhớ.

KhóDesign pattern ~120 phút
149

App: hệ thống thông báo với Observer và queue

Xây hệ thống thông báo đa kênh: Observer pub-sub, hàng đợi retry, template Strategy, đo tỉ lệ gửi và độ trễ.

KhóDesign pattern ~120 phút
150

Ô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
151

Capstone: benchmark sort và graph traversal

Capstone 1: benchmark freedoms sắp xếp O(n²) vs O(n log n) và BFS DFS Dijkstra trên cùng hạ tầng đo, báo cáo chọn thuật toán.

KhóThuật toán ~120 phút
152

Capstone: autocomplete cache LRU và Trie nâng cao

Capstone 2: nâng autocomplete ngày 126 lên radix trie, LFU so LRU, singleflightđồng thời, SLO p95 và báo cáo production-ready.

KhóThuật toán ~120 phút
153

Capstone: clustering pipeline và báo cáo metric

Capstone 3: pipeline clustering production trên dữ liệu khách hàng thật mô phỏng, MapReduce scale, báo cáo metric và diễn giải kinh doanh.

Chuyên giaThuật toán ~120 phút
154

Capstone: recsys có đo cold start và sparsity

Capstone 4: nâng recsys ngày 131 lên A-B test, đo cold start và sparsity, blend theo độ ấm, báo cáo business metric.

Chuyên giaThuật toán ~120 phút
155

Capstone: hệ thống lớn có mật mã và streaming

Capstone 5: tổng hợp lớn nhất — pipeline streaming mã hóa E2E, cache phân tán, index Bloom, chaos test, báo cáo kiến trúc hệ thống.

Chuyên giaThuật toán ~120 phút
156

Capstone: tối ưu TSP và vẽ đồ thị tổng hợp

So găng brute-force, greedy, DP, simulated annealing và di truyền trên cùng bộ TSP, cải thiện tour bằng 2-opt và vẽ mạng lưới ít giao cắt.

Chuyên giaThuật toán ~120 phút
157

Capstone: SimUDuck refactor toàn diện

Refactor đàn vịt bằng Strategy và Observer, thêm hành vi bay mới lúc chạy và thử thách khách hàng đổi yêu cầu phút chót.

KhóDesign pattern ~120 phút
158

Capstone: Pizza Store đa vùng và toppings

Xây Pizza Store nhiều vùng bằng Factory Method và Abstract Factory, chồng topping bằng Decorator và chốt bảng giá chính xác.

KhóDesign pattern ~120 phút
159

Capstone: home theater Facade và macro

Gom dàn máy rạp hát sau một nút bấm Facade, lập trình macro xem phim bằng Command có undo và xử lý lỗi từng thiết bị.

Chuyên giaDesign pattern ~120 phút
160

Capstone: mạng xã hội mini với graph và feed

Dựng mạng xã hội mini: đồ thị theo dõi, gợi ý bạn bằng BFS, bảng tin xếp hạng và chống spam bằng Bloom filter.

Chuyên giaThuật toán ~120 phút
161

Phỏng vấn 1: array, string và two pointers

Luyện phỏng vấn mảng và chuỗi: two pointers, sliding window, tiền tố, trình bày think-aloud và phân tích độ phức tạp.

KhóThuật toán ~90 phút
162

Phỏng vấn 2: BST, heap và top-k

Luyện phỏng vấn cây và heap: duyệt BST, kiểm tra bất biến, heapify, top-k trên stream và đánh đổi bộ nhớ.

KhóThuật toán ~90 phút
163

Phỏng vấn 3: BFS, DFS, Dijkstra trên ma trận

Luyện phỏng vấn đồ thị: flood fill, số đảo, đường ngắn nhất lưới, Dijkstra có trọng số và bẫy thăm lại.

KhóThuật toán ~90 phút
164

Phỏng vấn 4: DP kinh điển và greedy chứng minh

Luyện phỏng vấn DP và greedy: nhận diện bài toán con gối nhau, bảng một hai chiều, chứng minh greedy bằng đổi chỗ.

Chuyên giaThuật toán ~90 phút
165

Phỏng vấn 5: cache, rate limiter và search

Luyện system design mini: cache LRU LFU, rate limiter token bucket, search Trie Bloom và đánh đổi nhất quán.

Chuyên giaCấu trúc dữ liệu ~90 phút
166

Phỏng vấn 6: kể chuyện patterns và SOLID

Luyện kể chuyện thiết kế: chọn pattern đúng, ánh xạ SOLID, refactor trước sau và trả lời chất vấn trade-off.

KhóDesign pattern ~90 phút
167

Dự án cuối 1: đặc tả và chia module

Khởi động dự án cuối khóa: chốt đề tài, viết đặc tả yêu cầu, chia module và hợp đồng giao tiếp giữa các nhóm.

Chuyên giaThuật toán ~120 phút
168

Dự án cuối 2: benchmark và profiling

Xây module lõi dự án cuối khóa, benchmark hiệu năng, profiling tìm bottleneck và tối ưu có số liệu trước sau.

Chuyên giaThuật toán ~120 phút
169

Dự án cuối 3: dữ liệu lớn và evaluate

Nâng dự án lên dữ liệu lớn: pipeline batch stream, đánh giá độ chính xác, xử lý nhiễu thiếu và chốt báo cáo metric.

Chuyên giaThuật toán ~120 phút
170

Dự án cuối 4: áp dụng patterns và review chéo

Hoàn thiện dự án cuối khóa: áp dụng patterns đúng chỗ, review chéo, sửa theo feedback và đóng gói bản demo.

Chuyên giaDesign pattern ~120 phút
171

Tổng kết 180 ngày: bản đồ tri thức

Nhìn lại toàn lộ trình 180 ngày, vẽ bản đồ tri thức cá nhân và xác định vùng mạnh yếu để học tiếp.

Trung bìnhThuật toán ~60 phút
172

Lộ trình sau 180 ngày: ML, systems, research

Vạch 3 hướng đi sau khóa học gồm học máy chuyên sâu, systems và research, mỗi hướng có mốc 30-60-90 ngày.

Trung bìnhThuật toán ~60 phút
173

Checklist năng lực: tự đánh giá 180 kỹ năng

Tự đánh giá toàn diện qua checklist năng lực, đối chiếu chéo bằng sản phẩm và chốt kế hoạch vá 5 lỗ hổng lớn nhất.

Trung bìnhThuật toán ~60 phút
174

Bộ đề luyện thêm 50 bài tự ra đề

Tự biên bộ 50 đề luyện thêm phủ 6 cụm, phân tầng dễ khó, kèm đáp án gợi ý và lịch luyện 5 tuần.

Chuyên giaThuật toán ~120 phút
175

System design cơ bản: scale, ELB và sharding

Thực hành system design nghề nghiệp: ước lượng tải, cân bằng tải, sharding, cache tầng và trình bày trước hội đồng.

Chuyên giaCấu trúc dữ liệu ~90 phút
176

Đọc whitepaper và viết blog kỹ thuật

Rèn năng lực nghề nghiệp đọc tài liệu gốc: mổ một whitepaper, tái lập ý chính và viết blog kỹ thuật ngàn từ.

KhóThuật toán ~90 phút
177

Ngày open source: đọc source và đóng góp

Thực hành nghề nghiệp mã nguồn mở: chọn repo, đọc kiến trúc, sửa một issue thật và gửi pull request đúng chuẩn.

KhóThuật toán ~90 phút
178

Mock interview và peer review chéo

Thi thử tổng hợp như phỏng vấn thật: coding, design mini, kể chuyện patterns và review chéo có biên bản.

Chuyên giaThuật toán ~120 phút
179

Hoàn thiện sản phẩm demo cuối khóa

deposit nghề nghiệp cuối khóa: polish sản phẩm, quay video demo, viết README tuyển dụng và chuẩn bị trả lời chất vấn.

Chuyên giaThuật toán ~120 phút
180

Demo day và tổng kết

Lễ tốt nghiệp 180 ngày: demo sản phẩm, chia sẻ hành trình, nhận feedback và khép lại với cam kết 90 ngày tới.

DễThuật toán ~60 phút

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.