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)
106

Quy tắc sử dụng Hooks (Rules of Hooks) trong React là gì?

Senior

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

Actions & Form Actions trong React là gì và cách xử lý tự động trạng thái pending, lỗi và optimistic updates?

Senior

Actions & Form Actions tự động hóa việc xử lý trạng thái pending, lỗi và các cập nhật lạc quan (optimistic updates). Ví dụ mã nguồ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...
108

Hooks và State Management hoạt động như thế nào đằng sau hậu trường khi sử dụng các Hook như useState và useEffect?

Senior

Khi sử dụng Hooks (như useState, useEffect):

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

Các New Hooks được giới thiệu trong các phiên bản React gần đây bao gồm những gì và mục đích sử dụng của chúng?

Senior

Các Hook mới bao gồ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...
110

Kết quả của đoạn mã dưới đây là gì? ```javascript function Person() {} Person.prototype.walk = function () { return this; }; Person.run = function () { return this; }; let user = new Person(); let walk = user.walk; console.log(walk()); let run = Person.run; console.log(run()); ``` - 1: undefined, undefined - 2: Person, Person - 3: SyntaxError - 4: Window, Window

Senior

Đáp án đúng là: 4: Window, Window (hoặc undefined trong trường hợp chạy ở chế độ Strict Mode).

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

Kết quả của đoạn mã dưới đây là gì? ```javascript const numbers = [1, 2, 3]; // Đếm số lượng các số lẻ let xorAccumulator = numbers.reduce((sum, value) => { return sum + (value % 2); }, 0); // IIFE áp dụng phép XOR cho từng phần tử dịch bit theo chỉ mục của nó (function(arr) { for (let index = 0; index < arr.length; index++) { xorAccumulator ^= (arr[index] << index); } })(numbers); console.log(xorAccumulator); ``` - 1: 5 - 2: 7 - 3: 11 - 4: 1

Senior

Đáp án đúng là: 2: 7

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

Kết quả của đoạn mã dưới đây là gì? ```javascript console.log(NaN === NaN); ``` - 1: True - 2: False

Senior

Đáp án đúng là: 2: False

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

Trong PHP 8.2+, việc sử dụng Readonly classes mang lại lợi ích gì cho kiến trúc Domain-Driven Design (DDD) và làm thế nào để đảm bảo tính toàn vẹn của dữ liệu khi kết hợp với các thuộc tính khởi tạo?

Senior

Phân tích về Readonly classes trong DDD

Trong kiến trúc DDD, các Value Objects cần đảm bảo tính bất biến (immutability). Trước đây, chúng ta phải khai báo thủ công các thuộc tính private và chỉ cung cấp getter. Với Readonly classes trong PHP 8.2, toàn bộ class được bảo vệ 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...
114

Hãy giải thích cơ chế hoạt động của Fiber trong PHP 8.1+ và tại sao nó được coi là bước ngoặt cho các ứng dụng I/O-bound thay vì sử dụng mô hình truyền thống?

Senior

Cơ chế hoạt động của Fiber

Fiber cung cấp cơ chế Cooperative Multitasking (đa nhiệm hợp tác). Khác với Thread, Fiber không chạy song song thực thụ mà cho phép tạm dừng (suspend) và tiếp tục (resume) việc thực thi code tại bất kỳ đâu trong call stack.

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

PHP 8.4 giới thiệu Property Hooks. Hãy phân tích cách tính năng này thay thế cho các phương thức getter/setter truyền thống và ảnh hưởng của nó đến việc đóng gói dữ liệu (Encapsulation)?

Senior

Phân tích Property Hooks

Property Hooks cho phép định nghĩa logic trực tiếp trên thuộc tính của class thông qua các hook get và set. Điều này giúp việc kiểm soát dữ liệu đầu vào và đầu ra trở nên tinh gọ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...
116

Trong hệ thống phân tán chịu tải cao, làm thế nào để anh chị thiết kế kiến trúc Caching nhiều tầng (Multi-tier Caching) gồm L1 Cache tại bộ nhớ ứng dụng và L2 Cache sử dụng Redis Cluster để đảm bảo tính đồng bộ dữ liệu và tối ưu độ trễ?

Senior

Để thiết kế kiến trúc Caching nhiều tầng (Multi-tier Caching) đạt hiệu suất cao và đảm bảo tính nhất quán dữ liệu ở cấp độ Enterprise, chúng ta cần triển khai theo mô hình sau:

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

Hiện tượng Cache Stampede (hay Thundering Herd) xảy ra khi nào trong hệ thống sử dụng Redis, và anh chị có những giải pháp kỹ thuật nào để giải quyết triệt để vấn đề này ở cấp độ Senior?

Senior

1. Bản chất của hiện tượng Cache Stampede

Cache Stampede xảy ra khi một key cực kỳ quan trọng (Hot key) hết hạn (Expired) đúng lúc hệ thống đang có lượng truy cập (Traffic) khổng lồ. Hàng loạt các Worker/Thread đồng thời phát hiện Cache Miss, sau đó tất cả cùng đồng loạt truy vấn xuống Database để lấy dữ liệu mới. Việc này khiến Database quá tải (CPU Spike, Connection Pool Exhaustion) và làm sập toàn bộ 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...
118

Khi triển khai Redis Cluster cho hệ thống có dung lượng dữ liệu lớn và throughput cực cao, anh chị sẽ xử lý bài toán Hot Key, Sharding và cơ chế chuyển đổi dự phòng (Failover) như thế nào để đảm bảo tính sẵn sàng cao (High Availability)?

Senior

Để vận hành Redis Cluster ở quy mô Enterprise với độ sẵn sàng cao và hiệu năng tối ưu, chúng ta cần giải quyết các bài toán cốt lõi sau:

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

Phân tích sự khác biệt giữa Microtasks và Macrotasks trong Node.js Event Loop và cách chúng ảnh hưởng đến thứ tự thực thi của các tác vụ bất đồng bộ?

Senior

Bản chất cơ chế

Node.js Event Loop xử lý các tác vụ thông qua các phase (Timers, Pending Callbacks, Poll, Check, Close). Tuy nhiên, Microtasks (process.nextTick, Promise callbacks) được thực thi ngay sau khi hoàn thành mỗi operation trong phase hiện tại, trước khi chuyển sang phase tiếp theo.

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

Trong NestJS, làm thế nào để tận dụng Dependency Injection (DI) và Modules để xây dựng kiến trúc ứng dụng có khả năng mở rộng (Scalability) và dễ dàng kiểm thử (Testability)?

Senior

Dependency Injection (DI)

NestJS sử dụng DI để quản lý vòng đời của các object. Thay vì khởi tạo class thủ công, chúng ta sử dụng @Injectable(). Điều này giúp tách biệt logic (Decoupling) và dễ dàng mock các service khi viết Unit Test.

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