Khám Phá & Luyện Tập Câu Hỏi
Luyện tập các câu hỏi phỏng vấn chuẩn công ty công nghệ với lời giải chi tiết, code ví dụ và phân tích chuyên sâu.
@Transactional trong Spring hoạt động như thế nào?
Hãy giải thích cách @Transactional hoạt động trong Spring. Giải thích: - Transaction boundary - Commit - Rollback - Runtime Exception - Spring Proxy - Self-invocation
Dependency Injection là gì và tại sao nó quan trọng?
Dependency Injection là gì? Tại sao Constructor Injection thường được ưu tiên trong ứng dụng Spring?
Khi nào nên sử dụng Interface và Abstract Class?
Hãy giải thích sự khác nhau giữa Interface và Abstract Class. Trong một ứng dụng thực tế, khi nào nên sử dụng Interface và khi nào nên sử dụng Abstract Class?
Làm thế nào để tạo một Immutable Class trong Java?
Làm thế nào để thiết kế một immutable class trong Java? Hãy nêu các quy tắc cần tuân thủ để đảm bảo object không thể thay đổi state sau khi được tạo.
Stack và Heap khác nhau như thế nào trong Java?
Hãy giải thích sự khác nhau giữa Stack và Heap trong Java. Điều gì xảy ra trong memory khi một method được gọi và khi một object được tạo?
Stream API trong Java hoạt động như thế nào?
Hãy giải thích Intermediate Operation và Terminal Operation trong Java Stream. Tại sao Stream sử dụng cơ chế lazy evaluation?
Runnable và Callable khác nhau như thế nào?
Hãy so sánh Runnable và Callable. Làm thế nào để Callable trả về kết quả và xử lý checked exception?
ExecutorService là gì và tại sao nên sử dụng?
ExecutorService dùng để làm gì? Tại sao thread pool thường tốt hơn việc tạo một Thread mới cho mỗi task?
Deadlock là gì và làm thế nào để phòng tránh?
Deadlock là gì? Hãy đưa ra ví dụ về deadlock với hai lock và giải thích cách phòng tránh.
synchronized hoạt động như thế nào trong Java?
Hãy giải thích cách từ khóa synchronized đảm bảo thread-safety. Sự khác nhau giữa synchronized method và synchronized block là gì?
HashMap và ConcurrentHashMap khác nhau thế nào?
Tại sao HashMap không an toàn khi được truy cập đồng thời bởi nhiều thread? ConcurrentHashMap giải quyết vấn đề này như thế nào?
ArrayList và LinkedList khác nhau như thế nào?
Hãy so sánh ArrayList và LinkedList. Giải thích cấu trúc dữ liệu bên trong và độ phức tạp của các thao tác phổ biến.