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

Tại sao việc sử dụng cấu hình Hard-coded (như chuỗi kết nối Database hoặc API Key) trong mã nguồn là một rủi ro bảo mật và cách quản lý cấu hình an toàn trong ASP.NET Core?

Junior

Việc Hard-coded thông tin nhạy cảm khiến chúng bị lộ khi mã nguồn được đẩy lên hệ thống quản lý phiên bản (như Git). Kẻ tấn công có thể truy cập vào Database hoặc các dịch vụ bên thứ ba.

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

Trong SQL Server, sự khác biệt giữa hàm Scalar-valued Function và Inline Table-valued Function là gì, và tại sao việc sử dụng Scalar-valued Function thường gây suy giảm hiệu năng trong các truy vấn lớn?

Junior

Phân tích sự khác biệt

  1. Scalar-valued Function (SVF): Trả về một giá trị đơn lẻ. SQL Server thường thực thi hàm này theo kiểu từng dòng (row-by-row), điều này tạo ra chi phí overhead rất lớn khi xử lý trên tập dữ liệu lớn.
  2. Inline Table-valued Function (iTVF): Trả về một bảng kết quả. SQL Server coi iTVF như một View được tham số hóa, cho phép Query Optimizer tích hợp logic của hàm trực tiếp vào Execution Plan của câu truy vấn chính.

Tại sao SVF gây suy giảm hiệu năng?

  • Rào cản tối ưu hóa: SVF hoạt động như một hộp đen (black box) đối với Query Optimizer, ngăn cản việc thực hiện các kỹ thuật tối ưu như Parallelism hoặc Index Seek.
  • Chi phí ngữ cảnh: Việc chuyển đổi ngữ cảnh (context switching) giữa engine thực thi câu lệnh SQL và engine thực thi hàm cho mỗi dòng dữ liệu là cực kỳ tốn kém.

Lời khuyên thực chiến

Nên ưu tiên sử dụng iTVF thay vì SVF. Nếu bắt buộc phải dùng hàm, hãy cân nhắc chuyển logic đó vào Stored Procedure hoặc sử dụng CROSS APPLY với một iTVF để đạt hiệu năng tốt nhất.

273

Trong SQL Server, tại sao việc sử dụng hàm xử lý trên cột (như hàm YEAR(), MONTH(), hoặc hàm chuyển đổi kiểu dữ liệu) trong mệnh đề WHERE lại làm mất tác dụng của Index (SARGability)?

Junior

Khái niệm SARGable

SARGable là viết tắt của 'Search ARGumentable'. Một truy vấn được coi là SARGable khi nó cho phép SQL Server sử dụng Index Seek thay vì Index Scan hoặc Table Scan.

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

Trong SQL Server, sự khác biệt giữa lệnh TRUNCATE TABLE và DELETE là gì, và tại sao TRUNCATE thường được coi là thao tác DDL thay vì DML?

Junior

Bản chất kỹ thuật

  1. DELETE: Là một thao tác DML (Data Manipulation Language). Nó xóa từng dòng một và ghi lại log cho mỗi dòng bị xóa trong Transaction Log. Điều này cho phép bạn sử dụng mệnh đề WHERE để xóa có điều kiện và có thể rollback nếu cần.
  2. TRUNCATE: Là một thao tác DDL (Data Definition Language). Nó giải phóng toàn bộ các trang dữ liệu (data pages) được cấp phát cho bảng. Nó không ghi log cho từng dòng mà chỉ ghi log cho việc giải phóng các trang dữ liệu.

So sánh hiệu năng

  • Tốc độ: TRUNCATE nhanh hơn nhiều so với DELETE vì ít tốn tài nguyên ghi log và không cần kiểm tra ràng buộc khóa ngoại (Foreign Key) trên từng dòng.
  • Hạn chế: TRUNCATE không thể sử dụng với bảng có ràng buộc khóa ngoại tham chiếu đến nó và không thể sử dụng WHERE để lọc dữ liệu.

Lưu ý thực chiến

Trong môi trường Enterprise, hãy cẩn trọng khi dùng TRUNCATE vì nó xóa sạch dữ liệu và không thể rollback nếu không nằm trong một Transaction rõ ràng. Luôn kiểm tra các ràng buộc khóa ngoại trước khi thực hiện.

275

Trong SQL Server, khái niệm 'Covering Index' là gì và tại sao nó lại là một trong những kỹ thuật tối ưu hóa truy vấn quan trọng nhất đối với các ứng dụng có lưu lượng đọc cao?

Junior

Khái niệm Covering Index

Covering Index là một Non-Clustered Index bao gồm tất cả các cột cần thiết để thỏa mãn một câu truy vấn cụ thể (cả cột trong SELECT và cột trong WHERE/JOIN).

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

Trong SQL Server, tại sao việc sử dụng ký tự đại diện (Wildcard) ở đầu chuỗi tìm kiếm (ví dụ: LIKE '%ABC') lại gây ảnh hưởng tiêu cực đến hiệu năng truy vấn?

Junior

Cơ chế tìm kiếm của Index

SQL Server lưu trữ dữ liệu trong Index theo cấu trúc B-Tree, được sắp xếp theo thứ tự từ trái sang phải. Khi bạn tìm kiếm với LIKE 'ABC%', SQL Server có thể thực hiện Index Seek vì nó biết chính xác điểm bắt đầu của chuỗ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...
277

Trong MongoDB, cơ chế WiredTiger Storage Engine ảnh hưởng như thế nào đến hiệu năng đọc ghi và tại sao việc cấu hình Cache Size lại quan trọng đối với các ứng dụng Enterprise?

Junior

WiredTiger là Storage Engine mặc định của MongoDB, sử dụng cơ chế Document-level Concurrency Control và Compression để tối ưu hóa tài nguyê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...
278

Tại sao việc sử dụng toán tử $where trong MongoDB được coi là một Anti-pattern và làm thế nào để thay thế nó bằng các phương thức truy vấn tối ưu hơn?

Junior

Toán tử $where cho phép thực thi mã JavaScript trực tiếp bên trong truy vấn, điều này gây ra nhiều vấn đề nghiêm trọng về hiệu năng và bảo mật.

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

Trong MongoDB, khái niệm Covered Query là gì và làm thế nào để thiết kế Index giúp đạt được hiệu năng tối đa cho các truy vấn đọc?

Junior

Covered Query là truy vấn mà tất cả các trường dữ liệu cần thiết đều nằm trong Index, giúp MongoDB trả về kết quả trực tiếp từ Index mà không cần truy cập vào Document gốc (Fetch) trên ổ đĩ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...
280

Sự khác biệt giữa Collation trong MongoDB và cách nó ảnh hưởng đến việc so sánh chuỗi cũng như hiệu năng của Index là gì?

Junior

Collation cho phép định nghĩa các quy tắc so sánh chuỗi (như phân biệt chữ hoa/thường, dấu tiếng Việt) tại cấp độ Collection hoặc Index.

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

Trong MongoDB, tại sao việc sử dụng 'Unbounded Arrays' trong Document lại là một rủi ro tiềm ẩn và cách quản lý chúng như thế nào?

Junior

Unbounded Arrays là các mảng có kích thước không giới hạn trong một Document (ví dụ: danh sách comment của một bài viết tăng dần theo thời gian).

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

Trong kiến trúc Microservices, làm thế nào để áp dụng Memento Pattern nhằm thực hiện tính năng Undo hoặc khôi phục trạng thái cho các tác vụ xử lý dữ liệu phức tạp?

Junior

Bản chất của Memento Pattern

Memento Pattern cho phép lưu trữ trạng thái nội bộ của một đối tượng tại một thời điểm nhất định mà không vi phạm nguyên tắc đóng gói (Encapsulation). Trong hệ thống Enterprise, điều này cực kỳ quan trọng khi người dùng thực hiện các thao tác thay đổi dữ liệu phức tạp.

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

Flyweight Pattern giúp tối ưu hóa hiệu năng bộ nhớ như thế nào khi xử lý hàng triệu đối tượng có thuộc tính trùng lặp trong các ứng dụng Enterprise?

Junior

Bản chất của Flyweight Pattern

Flyweight tập trung vào việc chia sẻ dữ liệu chung (Intrinsic State) giữa các đối tượng để giảm thiểu số lượng đối tượng cần khởi tạo, từ đó tiết kiệm tài nguyê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...
284

Chain of Responsibility Pattern giải quyết vấn đề xử lý yêu cầu (Request) trong các hệ thống Middleware như thế nào và tại sao nó giúp code dễ bảo trì hơn?

Junior

Bản chất của Chain of Responsibility

Pattern này tạo ra một chuỗi các đối tượng xử lý (Handlers). Mỗi handler quyết định xem nó sẽ xử lý yêu cầu hay chuyển tiếp cho handler tiếp theo trong chuỗ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...
285

Prototype Pattern có vai trò gì trong việc tối ưu hóa hiệu năng khi khởi tạo các đối tượng có chi phí tạo lập lớn (Heavy Objects) trong hệ thống?

Junior

Bản chất của Prototype Pattern

Thay vì khởi tạo đối tượng mới bằng từ khóa 'new' (vốn tốn kém tài nguyên nếu đối tượng phức tạp), ta tạo bản sao (clone) từ một đối tượng mẫu đã có sẵ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