Phần lớn bug interview rơi vào vài nhóm quen thuộc:
- off-by-one — sai
<vs<=, indexnthay vìn-1, quên phần tử cuối; - null/empty — không xử lý mảng rỗng, list rỗng, hoặc node null;
- quên cập nhật state — không tăng pointer, không reset biến trong vòng lặp dẫn tới infinite loop;
- integer overflow trong Java/C++ (dùng
left + (right-left)/2thay vì(left+right)/2); - mutate input khi không được phép;
- dùng lại cùng phần tử trong bài cần cặp phân biệt
Biết trước danh sách này giúp bạn tự kiểm khi dry-run nhanh hơn.