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.
571

Sự khác biệt cốt lõi giữa hai lệnh SET thông thường và lệnh SETNX trong Redis là gì, và nó thường được ứng dụng trong bài toán nào?

Junior

Trong Redis, lệnh SET dùng để gán giá trị cho một key bất kể key đó đã tồn tại hay chưa (ghi đè giá trị cũ). Trong khi đó, lệnh SETNX (SET if Not eXists) chỉ thực hiện việc gán giá trị nếu key đó chưa tồn tại trên hệ thống.

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...
572

Tại sao việc đặt tên key (Naming Convention) trong Redis lại cực kỳ quan trọng, và cấu trúc đặt tên nào được coi là chuẩn Best Practice trong doanh nghiệp?

Junior

Redis là cơ sở dữ liệu lưu trữ theo dạng Key-Value phẳng (Flat namespace), nghĩa là không có khái niệm bảng (table) hay thư mục con phân cấp tự nhiên như cơ sở dữ liệu quan hệ (SQL). Tất cả các key đều nằm chung một không gian tên toàn cục (Global namespace).

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...
573

Lệnh INCR và DECR trong Redis hoạt động như thế nào, và chúng giải quyết bài toán đồng thời (Concurrency) tốt hơn so với cơ sở dữ liệu quan hệ truyền thống ra sao?

Junior

Các lệnh INCR, INCRBY, DECR, DECRBY trong Redis dùng để tăng hoặc giảm giá trị số nguyên của một key đi 1 hoặc một số nguyên bất kỳ một cách tự động.

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...
574

Khi nào lập trình viên nên sử dụng cấu trúc dữ liệu Sorted Set (ZSET) trong Redis, và hãy nêu một bài toán thực tế điển hình?

Junior

Cấu trúc dữ liệu Sorted Set (ZSET) là một tập hợp các phần tử dạng chuỗi (Member), trong mỗi phần tử được gắn kèm một giá trị số thực gọi là Score. Các phần tử được tự động sắp xếp theo thứ tự tăng dần của Score.

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...
575

Làm thế nào để xác định thiết bị của người dùng có hỗ trợ PWA hay không và tại sao việc kiểm tra này lại quan trọng đối với các ứng dụng Web hiện đại?

Junior

Bản chất vấn đề

Không phải tất cả các trình duyệt hoặc hệ điều hành đều hỗ trợ đầy đủ các tính năng của PWA, đặc biệt là Service Worker và Web App Manifest. Việc kiểm tra sự hỗ trợ giúp ứng dụng tránh được lỗi cú pháp (TypeError) khi gọi các API không tồn tại và có chiến lược dự phòng (fallback) hợp lý.

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...
576

Sự kiện beforeinstallprompt hoạt động như thế nào trong PWA và làm thế nào để ngăn chặn hành vi hiển thị banner cài đặt mặc định của trình duyệt để tự thiết kế giao diện tùy chỉnh?

Junior

Bản chất vấn đề

Trình duyệt tự động hiển thị một banner nhỏ để nhắc người dùng cài đặt PWA khi ứng dụng đạt đủ điều kiện (Add to Home Screen). Tuy nhiên, giao diện này rất cứng nhắc và không phù hợp với thiết kế của doanh nghiệp. Sự kiện beforeinstallprompt cho phép lập trình viên chặn (prevent) banner mặc định này lại và lưu trữ đối tượng sự kiện để kích hoạt sau thông qua một nút bấm tùy chỉnh trên giao diệ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...
577

Làm thế nào để xử lý việc lưu trữ các tệp tin tĩnh (static assets) trong sự kiện install của Service Worker một cách hiệu quả và tránh tình trạng treo tiến trình khi có một tệp bị lỗi?

Junior

Bản chất vấn đề

Khi Service Worker cài đặt (sự kiện install), chúng ta thường dùng Cache Storage API để lưu trữ các tài nguyên tĩnh như HTML, CSS, JS, hình ảnh. Nếu một trong các tệp tin này không tồn tại hoặc đường dẫn sai, toàn bộ quá trình cài đặt Service Worker sẽ thất bại, dẫn đến PWA không thể hoạt động ngoại tuyế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...
578

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...
579

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...
580

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...
581

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...
582

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...
583

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...
584

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...
585

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...
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