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.
Tất cả công nghệ .Net (39) ADO.NET (44) Agile scrum (33) Android (40) Angular (40) API Design (40) Arrays (40) ASP.NET (42) ASP.NET MVC (40) ASP.NET Web API (49) Availability & Reliability (40) Azure (49) Backtracking (40) Big-O Notation (35) Binary Tree (40) Bit Manipulation (40) Blockchain (45) C# (45) Caching (50) CAP Theorem (45) CDN (45) Concurrency (49) Cosmos DB (44) Cryptography (40) CSS (40) Data Structures (40) Databases (35) DDD (42) Dependency Injection (50) Design pattern (45) Devops (50) Divide & Conquer (40) Docker (43) Dynamic Programming (40) Entity Framework (40) Fibonacci Series (35) Flutter (40) Git (40) Go lang (40) Graph Theory (40) GraphQL (40) Greedy Algorithms (40) Hash Tables (40) Heaps and Maps (35) HTML (40) Ionic (45) IOS (45) Java (73) Javascript (81) jQuery (40) Kotlin (50) Kubernetes (11) Laravel (41) Layering & Middleware (44) Linked Lists (45) LINQ (40) Load Balancing (45) Microservices (44) Mongodb (45) MySQL (44) Net core (44) next.js (52) Node.js (40) NoSQL (48) Objective-C (40) OOP (44) Package Managerment (50) PHP (40) PostgreSQL (44) PWA (40) Python (41) Queues (44) React Native (48) React.js (45) Reactive Programming (50) Recursion (45) Redis (40) Ruby (44) Ruby on Rails (48) Rust (40) Searching (45) SOA (42) Software Architecture (44) Software Testing (40) Sorting (48) Spring (45) SQL (37) SQL Server (45) Stacks (44) Strings (50) Swift (45) System Design (56) Systems Design (7) T-SQL (39) Trees (49) Trie (35) Typescript (44) Unit testing (49) UX Design (50) Vue.js (50) Web security (40) WebSockets (49) Xamarin (40)
346

Trong Laravel, tại sao việc sử dụng Eloquent ORM lại có thể gây ra vấn đề N+1 Query và cách khắc phục triệt để bằng Eager Loading?

Junior

Vấn đề N+1 Query xảy ra khi bạn truy vấn một danh sách các bản ghi (1 query) và sau đó trong vòng lặp, bạn tiếp tục truy vấn dữ liệu liên quan cho từng bản ghi đó (N query). Điều này làm tăng số lượng truy vấn lên Database một cách không kiểm soá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...
347

Làm thế nào để triển khai cơ chế Rate Limiting trong ASP.NET Web API nhằm ngăn chặn tình trạng quá tải hệ thống hoặc tấn công từ chối dịch vụ (DDoS) ở mức độ cơ bản?

Junior

Trong các phiên bản ASP.NET Core mới, chúng ta nên sử dụng thư viện Microsoft.AspNetCore.RateLimiting tích hợp 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...
348

Trong ASP.NET Web API, việc sử dụng IOptions, IOptionsSnapshot và IOptionsMonitor để quản lý cấu hình (Configuration) có gì khác biệt và khi nào nên dùng loại nào?

Junior

Cả ba interface này đều dùng để truy cập cấu hình từ file appsettings.json, nhưng khác nhau về khả năng cập nhật giá trị khi ứng dụng đang chạy.

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

Hãy giải thích cơ chế Content Negotiation trong ASP.NET Web API và cách tùy chỉnh nó để hỗ trợ nhiều định dạng dữ liệu khác nhau (như XML hoặc JSON).

Junior

Content Negotiation là quá trình API thương lượng với Client về định dạng dữ liệu trả về dựa trên header Accept của request.

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

Tại sao việc sử dụng 'ProblemDetails' (RFC 7807) lại được khuyến khích khi thiết kế API response cho các lỗi nghiệp vụ trong ASP.NET Web API?

Junior

ProblemDetails là một tiêu chuẩn của IETF giúp chuẩn hóa định dạng thông báo lỗi, giúp Client dễ dàng xử lý lỗi một cách nhất quá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...
351

Trong ASP.NET Web API, tại sao chúng ta cần sử dụng các thuộc tính [ApiController] và [Route] thay vì cách cấu hình truyền thống, và chúng mang lại lợi ích gì cho việc phát triển API?

Junior

Việc sử dụng thuộc tính [ApiController] và [Route] là tiêu chuẩn hiện đại trong ASP.NET Core Web API.

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

Trong ASP.NET MVC, Global Filters đóng vai trò gì và làm thế nào để đăng ký một bộ lọc toàn cục trong tệp Global.asax.cs?

Junior

Khái niệm Global Filters

Global Filters trong ASP.NET MVC cho phép áp dụng các Action Filter (như bộ lọc xác thực, bộ lọc ghi log, hoặc bộ lọc xử lý ngoại lệ) cho tất cả các Controller và Action bên trong ứng dụng mà không cần phải khai báo thủ công từng cái trên mỗi Controller.

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

Giải thích mục đích và cách sử dụng phương thức Html.AntiForgeryToken() cùng với thuộc tính ValidateAntiForgeryToken trong ASP.NET MVC để phòng chống tấn công CSRF.

Junior

Tấn công CSRF (Cross-Site Request Forgery) là gì?

CSRF là kiểu tấn công mà kẻ xấu lừa người dùng đã xác thực thực hiện các hành động không mong muốn trên ứng dụng web mà họ đang đăng nhậ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...
354

Sự khác biệt cốt lõi giữa TempData, ViewBag và ViewData trong ASP.NET MVC là gì và thời điểm nào nên sử dụng từng loại?

Junior

Phân tích chi tiết các cơ chế truyền dữ liệu

  1. ViewData:

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

Làm thế nào để cấu hình và xử lý ngoại lệ tập trung (Custom Error Handling) trong tệp Web.config và thông qua bộ lọc trong ASP.NET MVC?

Junior

Hai lớp bảo vệ xử lý ngoại lệ trong ASP.NET MVC

Để xây dựng một hệ thống Enterprise vững chắc, việc xử lý ngoại lệ không được để lộ thông tin nhạy cảm (như stack trace) ra ngoài giao diện người dù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...
356

Trong ASP.NET MVC, BundleTable và Script/Style Bundling hoạt động như thế nào và tại sao chúng lại giúp cải thiện hiệu năng tải trang?

Junior

Khái niệm Bundling và Minification

  • Bundling (Gộp tệp): Gom nhiều tệp JavaScript hoặc CSS riêng lẻ thành một tệp duy nhất.
  • Minification (Thu gọn mã): Loại bỏ khoảng trắng thừa, chú thích, rút gọn tên biến để giảm thiểu dung lượng tệp tải về.

Cách cấu hình trong BundleConfig.cs

public class BundleConfig
{
    public static void RegisterBundles(BundleCollection bundles)
    {
        bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
                    "~/Scripts/jquery-{version}.js"));

        bundles.Add(new StyleBundle("~/Content/css").Include(
                    "~/Content/bootstrap.css",
                    "~/Content/site.css"));

        // Bật tối ưu hóa tự động
        BundleTable.EnableOptimizations = true;
    }
}

Cách sử dụng tại View

<!DOCTYPE html>
<html>
<head>
    @Styles.Render("~/Content/css")
</head>
<body>
    @Scripts.Render("~/bundles/jquery")
</body>
</html>

Lợi ích hiệu năng trong hệ thống Enterprise

  1. Giảm số lượng HTTP Requests: Trình duyệt có giới hạn số lượng kết nối đồng thời đến cùng một tên miền. Gộp tệp giúp giảm số lượng Request đáng kể.
  2. Giảm băng thông: Kích thước tệp sau khi Minification nhỏ hơn nhiều, giúp tăng tốc độ tải trang trên các thiết bị di động hoặc kết nối mạng kém.

Lưu ý thực chiến Enterprise

Khi BundleTable.EnableOptimizations = true, các tệp sẽ được nén và sinh mã hash phiên bản tự động để phá vỡ bộ nhớ đệm (browser cache) của trình duyệt mỗi khi bạn cập nhật phiên bản mã nguồn mới.

357

Khi lập trình viên cần tìm kiếm một phần tử trong một mảng đối tượng, sự khác biệt cốt lõi giữa phương thức Array.prototype.find() và Array.prototype.filter() là gì, và việc sử dụng sai ngữ cảnh sẽ ảnh hưởng thế nào đến hiệu năng ứng dụng?

Junior

Trong quá trình phát triển phần mềm, việc lựa chọn đúng phương thức xử lý mảng đóng vai trò quyết định đến hiệu năng và tính chính xác của mã nguồn, đặc biệt khi xử lý các tập dữ liệu lớ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...
358

Tại sao việc sử dụng toán tử spread (...) để sao chép mảng chứa các đối tượng bên trong (Nested Arrays hoặc Objects) lại không tạo ra một bản sao hoàn toàn độc lập, và giải pháp chuẩn mực để xử lý vấn đề này là gì?

Junior

Khi làm việc với các cấu trúc dữ liệu phức tạp, việc sao chép mảng là nhu cầu thường xuyên. Tuy nhiên, lập trình viên cấp độ Junior thường hay vướng phải lỗi liên quan đến bản sao nông (Shallow Copy) và bản sao sâu (Deep Copy).

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

Trong JavaScript, khi cần kiểm tra sự tồn tại của một phần tử hoặc xác thực điều kiện trên mảng, việc sử dụng các phương thức includes, some và every có sự khác biệt gì về mặt logic và hiệu năng thực thi?

Junior

Việc lựa chọn đúng phương thức kiểm tra mảng giúp mã nguồn ngắn gọn, dễ đọc và tối ưu hóa thời gian thực thi của chương trì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...
360

Khi thực hiện sắp xếp mảng các số nguyên bằng phương thức Array.prototype.sort() mặc định trong JavaScript, lập trình viên thường gặp phải lỗi logic gì và cách khắc phục triệt để như thế nào?

Junior

Một trong những cạm bẫy kinh điển đối với lập trình viên mới bắt đầu khi làm việc với mảng trong JavaScript là cơ chế sắp xếp mặc định của phương thức sort().

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