Mở đăng ký khóa học Fullstack qua Zoom. Tham khảo tại đây

Thư Viện Câu Hỏi Phỏng Vấn

Tổng hợp các câu hỏi tuyển dụng thực tế theo nhiều cấp độ từ Entry đến Expert để bạn tự tin chinh phục nhà tuyển dụng.

Interactive Practice Tổng cộng 4,442 câu hỏi độc bản

Luyện Tập Phỏng Vấn Thử

Mô phỏng áp lực phỏng vấn thật với đồng hồ đếm ngược từng câu, tự đánh giá phản xạ và đo lường độ sẵn sàng của bạn.

Vui lòng đăng nhập để tham gia luyện tập và lưu tiến độ phỏng vấn.
721

Sự khác biệt giữa sự kiện fetch trong Service Worker và việc gọi mạng trực tiếp là gì và làm thế nào để intercept một request để trả về dữ liệu từ Cache?

Junior

Bản chất vấn đề

Sự kiện fetch hoạt động như một proxy mạng nằm giữa ứng dụng web và internet. Mọi yêu cầu tài nguyên (HTTP requests) từ trang web đều đi qua sự kiện này. Lập trình viên có thể kiểm soát hoàn toàn việc có nên gọi mạng hay lấy dữ liệu từ Cache Storage.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
722

Làm thế nào để dọn dẹp các phiên bản cache cũ (Cache Cleanup) trong sự kiện activate của Service Worker nhằm tối ưu hóa dung lượng lưu trữ trên thiết bị của người dùng?

Junior

Bản chất vấn đề

Khi ứng dụng PWA được cập nhật phiên bản mới, các tệp cache cũ (ví dụ: my-pwa-cache-v1) vẫn tồn tại trên thiết bị người dùng nếu không được xóa thủ công. Điều này gây lãng phí bộ nhớ lưu trữ (Storage Quota) và có thể dẫn đến xung đột dữ liệu.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
723

Trong SQL Server, sự khác biệt giữa INNER JOIN và LEFT OUTER JOIN là gì? Lập trình viên cấp độ Junior cần lưu ý gì khi đặt điều kiện trong mệnh đề WHERE đối với các bảng tham gia LEFT OUTER JOIN để tránh làm mất tác dụng của phép JOIN?

Junior

Bản chất sự khác biệt

  • INNER JOIN: Chỉ trả về các dòng có dữ liệu khớp nhau ở cả hai bảng (bảng trái và bảng phải) dựa trên điều kiện kết nối.
  • LEFT OUTER JOIN: Trả về tất cả các dòng từ bảng bên trái và các dòng khớp từ bảng bên phải. Nếu không có dòng khớp ở bảng bên phải, các cột tương ứng của bảng bên phải sẽ nhận giá trị NULL.

Lỗi phổ biến khi sử dụng LEFT OUTER JOIN

Một lỗi kinh điển của lập trình viên cấp Junior là đưa điều kiện lọc của bảng bên phải vào mệnh đề WHERE thay vì mệnh đề ON.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
724

Trong SQL Server, khái niệm Index Fragmentation (Phân mảnh chỉ mục) là gì? Tại sao nó lại ảnh hưởng tiêu cực đến hiệu năng truy vấn và lập trình viên cần sử dụng câu lệnh nào để kiểm tra cũng như khắc phục?

Junior

Khái niệm Index Fragmentation

Index Fragmentation xảy ra khi thứ tự logic của các trang dữ liệu (Leaf nodes) trong một chỉ mục không khớp với thứ tự vật lý của chúng trên ổ đĩa do các hoạt động INSERT, UPDATE, hoặc DELETE diễn ra liên tục theo thời gian. Có hai loại phân mảnh chính:

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
725

Trong T-SQL, việc sử dụng con trỏ (Cursor) thường được khuyến cáo là nên hạn chế trong môi trường Enterprise. Bản chất của Cursor là gì và tại sao chúng ta nên ưu tiên sử dụng các giải pháp dựa trên tập hợp (Set-based operations)?

Junior

Bản chất của Cursor

Cursor là một cơ chế cho phép xử lý dữ liệu từng dòng một (Row-by-row processing) từ một tập kết quả (Result set). Thay vì xử lý toàn bộ dữ liệu cùng một lúc, Cursor duyệt qua từng bản ghi thông qua các vòng lặp, thực hiện các thao tác đọc, cập nhật hoặc xóa.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
726

Mệnh đề GROUP BY và mệnh đề HAVING khác nhau như thế nào trong SQL Server? Lập trình viên thường mắc lỗi gì khi sử dụng nhầm lẫn điều kiện lọc giữa WHERE và HAVING?

Junior

Sự khác biệt cốt lõi

  • GROUP BY: Dùng để nhóm các hàng có cùng giá trị thành các hàng tóm tắt, thường đi kèm với các hàm tổng hợp (Aggregate functions) như SUM, COUNT, AVG, MAX, MIN.
  • HAVING: Dùng để lọc các nhóm dữ liệu sau khi mệnh đề GROUP BY và các hàm tổng hợp đã được thực thi.

Phân biệt WHERE và HAVING

  • WHERE: Lọc dữ liệu trên từng hàng đơn lẻ trước khi quá trình gom nhóm (GROUP BY) diễn ra. WHERE không thể chứa các hàm tổng hợp.
  • HAVING: Lọc dữ liệu trên các nhóm sau khi quá trình gom nhóm đã hoàn tất. HAVING có thể chứa các hàm tổng hợp.

Lỗi phổ biến của Junior

Lỗi thường gặp là đưa điều kiện có chứa hàm tổng hợp vào mệnh đề WHERE, dẫn đến lỗi biên dịch (Compilation Error).

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
727

Trong SQL Server, khái niệm Transaction (Giao dịch) và các tính chất ACID đóng vai trò như thế nào? Lập trình viên cần sử dụng cấu trúc cú pháp nào để quản lý lỗi và rollback transaction an toàn trong Stored Procedure?

Junior

Khái niệm Transaction và tính chất ACID

Transaction là một chuỗi các thao tác thao tác cơ sở dữ liệu được thực thi như một đơn vị công việc logic duy nhất. Để đảm bảo tính toàn vẹn dữ liệu trong môi trường Enterprise, một Transaction phải tuân thủ 4 tính chất ACID:

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
728

Sự khác biệt cốt lõi giữa @Controller và @RestController trong Spring Boot là gì và khi nào nên sử dụng từng loại?

Junior

Trong Spring Boot, @Controller và @RestController đều được sử dụng để định nghĩa các thành phần xử lý HTTP request trong kiến trúc Web MVC. Tuy nhiên, chúng có mục đích và cách thức hoạt động khác nhau:

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
729

Dependency Injection trong Spring Boot hoạt động như thế nào và tại sao Field Injection lại không được khuyến khích sử dụng?

Junior

Dependency Injection (DI) là một mẫu thiết kế cốt lõi trong Spring Framework, cho phép đảo ngược quyền điều khiển (Inversion of Control - IoC) để quản lý vòng đời và sự phụ thuộc giữa các Bean.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
730

Scope của Spring Bean là gì và sự khác biệt giữa Singleton Scope và Prototype Scope trong ứng dụng thực tế?

Junior

Spring Bean Scope định nghĩa vòng đời và quy tắc tạo mới các thể hiện (instances) của Bean trong Spring IoC Container.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
731

Vai trò của @Transactional trong Spring Data JPA là gì và tại sao việc gọi phương thức có @Transactional từ một phương thức khác trong cùng class lại bị mất tác dụng?

Junior
  1. Vai trò của @Transactional:
  • Quản lý giao dịch cơ sở dữ liệu (Database Transactions) theo nguyên tắc ACID.
  • Tự động bắt đầu transaction khi vào phương thức, tự động commit nếu thực thi thành công, và tự động rollback nếu xuất hiện ngoại lệ chưa được bắt (Unchecked Exception - RuntimeException hoặc Error). Đối với Checked Exception, cần cấu hình thêm thuộc tính rollbackFor.
  1. Hiện tượng Self-Invocation (Gọi nội bộ làm mất tác dụng transaction): Đây là một lỗi kinh điển của lập trình viên Junior khi sử dụng Spring AOP.

Ví dụ lỗi:

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
732

Spring Boot Actuator là gì và làm thế nào để bảo mật các Endpoint giám sát trong môi trường Production?

Junior
  1. Spring Boot Actuator là gì:
  • Là một module mạnh mẽ trong hệ sinh thái Spring Boot giúp cung cấp khả năng giám sát (monitoring) và quản lý ứng dụng khi chạy trên môi trường thực tế (Production).
  • Cung cấp sẵn các Endpoint quan trọng như /actuator/health (kiểm tra trạng thái sức khỏe ứng dụng), /actuator/metrics (thống kê hiệu năng như CPU, bộ nhớ, số lượng request), /actuator/env (xem các biến môi trường), và /actuator/logfile.
  1. Bảo mật các Endpoint Actuator: Do các Endpoint này chứa nhiều thông tin nhạy cảm về hệ thống, nếu để lộ ra ngoài internet có thể tạo lỗ hổng bảo mật nghiêm trọng cho doanh nghiệp.

Các bước cấu hình bảo mật chuẩn Enterprise:

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
733

Làm thế nào để tối ưu hóa trải nghiệm người dùng thông qua việc quản lý trạng thái Skeleton Screens thay vì sử dụng Spinner truyền thống trong các ứng dụng Enterprise?

Junior

Việc sử dụng Skeleton Screens giúp cải thiện Perceived Performance bằng cách tạo ra ảo giác rằng nội dung đang được tải nhanh hơn.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
734

Trong bối cảnh phát triển ứng dụng Enterprise, tại sao việc tuân thủ nguyên tắc Consistency trong Design System lại quan trọng đối với hiệu năng của đội ngũ phát triển?

Junior

Consistency không chỉ là vấn đề thẩm mỹ mà là nền tảng của sự hiệu quả trong phát triển phần mềm.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
735

Làm thế nào để áp dụng nguyên tắc Progressive Disclosure trong việc thiết kế các form nhập liệu phức tạp để tránh gây quá tải cho người dùng?

Junior

Progressive Disclosure là kỹ thuật hiển thị thông tin theo từng lớp, chỉ hiển thị những gì cần thiết tại thời điểm người dùng cần.

Nội dung chi tiết câu trả lời, phân tích kỹ thuật chuyên sâu, mã nguồn minh họa và các trường hợp ngoại lệ chỉ dành riêng cho học viên Unicode E-learning...

Để mở khóa toàn bộ giải pháp chi tiết và tài liệu hướng dẫn phỏng vấn, vui lòng nâng cấp tài khoản hoặc tham gia gói Learning Pass để truy cập không giới hạn.

// Mã nguồn và kiến trúc giải pháp bị ẩn đối với tài khoản chưa nâng cấp...
High-Ticket Mentoring
Cần Mentor Phỏng Vấn Thử 1-1 & Tối Ưu CV?

Mô phỏng phỏng vấn kỹ thuật thực tế 1-1 qua Google Meet, nhận xét chi tiết điểm mạnh/yếu và sửa CV trực tiếp cùng giảng viên Unicode.

AI Resume Scanner
Kiểm Tra CV Chuẩn ATS Miễn Phí

Tải CV của bạn lên để hệ thống AI rà soát từ khóa kỹ năng, định dạng và tính điểm chuẩn nhà tuyển dụng.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học