Part 01 · Java Core · 1.4

Sai lầm thường gặp & checklist

Red flag không chỉ là “trả lời sai”; nó là dấu hiệu một mental model sai có thể dẫn đến bug hoặc quyết định kỹ thuật nguy hiểm.

6hiểu sai thường gặp
7lỗi triển khai
27checklist kiến thức
6checklist phỏng vấn

Hiểu sai thường gặp

Các câu dưới đây nghe có vẻ hợp lý, nhưng mỗi câu đều che giấu một mental model sai cần sửa trước khi đi sâu vào production hoặc phỏng vấn.

1. “Java truyền object bằng reference.”
Đúng phải là truyền bản sao của reference theo value. Nhầm lẫn này làm giải thích mutation/reassignment thiếu nhất quán.
2. “volatile làm biến thread-safe.”
volatile không biến compound operation thành atomic và không bảo vệ invariant nhiều biến.
3. “ConcurrentHashMap làm mọi đoạn code dùng map atomic.”
Thread-safe method không tự biến sequence get-check-put thành một transaction.
4. “Parallel stream/virtual thread luôn nhanh hơn.”
Phải phân biệt CPU-bound, blocking I/O, overhead, pool và downstream capacity.
5. “Có GC nên Java không memory leak.”
Object reachable ngoài ý muốn vẫn không được thu hồi.
6. “Record là deep immutable.”
Record chỉ đảm bảo component reference final; mutable component cần defensive copy.

Lỗi triển khai thường gặp

  1. Dùng mutable object làm HashMap key rồi sửa field tham gia equality.
  2. Override equals nhưng bỏ hashCode, hoặc dùng inheritance khiến equality mất symmetry.
  3. Catch Exception, log rồi tiếp tục với state không hợp lệ; làm mất original cause khi translate.
  4. Không đóng executor/resource, hoặc swallow InterruptedException mà không restore interrupt flag.
  5. Block bằng join/get tùy tiện trong async pipeline; thiếu timeout và cancellation.
  6. Dùng unbounded queue/cache khiến latency và heap tăng dần.
  7. Đọc một thread dump hoặc heap histogram rồi kết luận nguyên nhân.

Checklist kiến thức

Tự đánh dấu khi bạn có thể giải thích bằng mental model và ví dụ, không chỉ nhớ định nghĩa.

Checklist thực chiến phỏng vấn

Definition of Done: đạt ít nhất 80% checklist kiến thức, hoàn thành tối thiểu năm lab, trả lời trôi chảy ít nhất 50/62 câu và đạt mốc 6/8 câu tiếng Anh trước khi chuyển Part 02.