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

Giải thích cơ chế hoạt động của thuật toán Consistent Hashing và ưu điểm của nó so với thuật toán Hash thông thường trong Load Balancing?

Middle

Hạn chế của Hash thông thường

Với công thức server = hash(key) % N (N là số lượng server), khi một server bị chết hoặc thêm mới, giá trị N thay đổi dẫn đến hầu hết các key bị map lại (remapping), gây mất cache hàng loạ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...
1262

Trong kịch bản hệ thống bị tấn công DDoS ở tầng ứng dụng (Layer 7), Load Balancer cần được cấu hình những tham số bảo mật nào để giảm thiểu rủi ro?

Middle

Các chiến lược bảo mật tại Load Balancer

  1. Rate Limiting: Giới hạn số lượng request từ một IP hoặc một User ID trong một khoảng thời gian nhất định (ví dụ: limit_req_zone trong Nginx).
  2. Connection Limiting: Giới hạn số lượng kết nối đồng thời từ một IP để ngăn chặn các cuộc tấn công Slowloris.
  3. Request Filtering: Chặn các request có header bất thường, User-Agent giả mạo hoặc các pattern URL nghi vấn thông qua Web Application Firewall (WAF) tích hợp.
  4. Timeout Configuration: Thiết lập các giá trị client_body_timeout và client_header_timeout ngắn hơn để giải phóng tài nguyên nhanh chóng khi gặp kết nối chậm.

Lưu ý

Load Balancer chỉ là lớp phòng thủ đầu tiên. Cần kết hợp với các dịch vụ chuyên dụng như Cloudflare hoặc AWS Shield để xử lý các cuộc tấn công quy mô lớn vượt quá khả năng chịu tải của hạ tầng nội bộ.

1263

Làm thế nào để áp dụng chiến lược Graceful Shutdown cho một ứng dụng Node.js hoặc Java Spring Boot chạy trong Kubernetes nhằm đảm bảo không bị mất kết nối của client khi deploy phiên bản mới?

Middle

Bản chất vấn đề

Khi Kubernetes thực hiện việc cập nhật (rolling update) hoặc scale down một Pod, Kubernetes sẽ gửi tín hiệu SIGTERM đến tiến trình chính trong container. Mặc định, nhiều ứng dụng sẽ dừng ngay lập tức, dẫn đến việc các HTTP request đang được xử lý hoặc các kết nối WebSocket đang mở bị ngắt đột ngột, gây ra lỗi 5xx cho 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...
1264

Thế nào là Rate Limiting và Token Bucket Algorithm? Tại sao cơ chế này lại đóng vai trò quan trọng trong việc bảo vệ tính ổn định (Reliability) của hệ thống Backend trước các cuộc tấn công DoS hoặc traffic đột biến?

Middle

Bản chất vấn đề

Khi một hệ thống phải đối mặt với lượng truy cập đột biến (Flash Sale) hoặc các cuộc tấn công Từ chối dịch vụ (DoS), tài nguyên phần cứng như CPU, Memory và Database Connections có thể bị cạn kiệt, dẫn đến sập toàn bộ hệ thống (Cascading Failure). Rate Limiting giúp giới hạn số lượng request mà một client có thể thực hiện trong một khoảng thời gian nhất đị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...
1265

Giải thích cơ chế Database Connection Pooling và những rủi ro về hiệu năng (Performance) cũng như tính sẵn sàng khi cấu hình sai kích thước Pool (Pool Size)?

Middle

Bản chất vấn đề

Việc mở một kết nối mới tới cơ sở dữ liệu (TCP handshake, xác thực, cấp phát bộ nhớ) là một thao tác cực kỳ tốn kém về thời gian và tài nguyên CPU. Database Connection Pool giải quyết vấn đề này bằng cách duy trì sẵn một tập hợp các kết nối đã mở sẵn để tái sử dụng cho các request 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...
1266

Distributed Lock là gì? Tại sao trong hệ thống phân tán, việc sử dụng các biến khóa thông thường trong bộ nhớ của một Service (In-memory Lock) lại thất bại khi xử lý bài toán tranh chấp tài nguyên?

Middle

Bản chất vấn đề

Trong hệ thống Monolith truyền thống, để ngăn chặn nhiều tiến trình cùng truy cập và sửa đổi một tài nguyên (ví dụ: trừ tiền trong tài khoản, đặt vé sự kiện), chúng ta dùng các cơ chế khóa trong bộ nhớ như Mutex, Semaphore. Tuy nhiên, khi chuyển sang kiến trúc Microservices, ứng dụng được scale thành nhiều thực thể (Instances) chạy trên các Server hoặc Container 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...
1267

Chiến lược Blue-Green Deployment và Canary Deployment khác nhau như thế nào trong việc duy trì tính sẵn sàng liên tục (Zero-downtime) khi phát hành tính năng mới?

Middle

Bản chất vấn đề

Phát hành phần mềm mà không làm gián đoạn trải nghiệm của người dùng (Zero-downtime Deployment) là yêu cầu bắt buộc đối với các hệ thống Enterprise. Hai phương pháp phổ biến nhất là Blue-Green Deployment và Canary Deployment.

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

Trong kiến trúc Next.js, làm thế nào để quản lý trạng thái toàn cục (Global State) một cách hiệu quả mà không làm ảnh hưởng đến hiệu năng của Server Components?

Middle

Để quản lý trạng thái toàn cục trong Next.js App Router mà không gây ảnh hưởng tiêu cực đến Server Components, chúng ta cần phân tách rõ ràng giữa trạng thái dữ liệu (Data State) và trạng thái giao diện (UI State).

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

Bạn hãy phân tích cơ chế Streaming trong Next.js và cách áp dụng Suspense để cải thiện trải nghiệm người dùng (UX) khi tải dữ liệu chậm.

Middle

Streaming cho phép chia nhỏ nội dung trang web thành các phần (chunks) và gửi dần về trình duyệt thay vì đợi toàn bộ dữ liệu từ server được xử lý xong.

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

Làm thế nào để xử lý việc tối ưu hóa hình ảnh (Image Optimization) trong Next.js khi làm việc với các nguồn ảnh từ bên ngoài (External Domains)?

Middle

Next.js cung cấp component next/image để tự động tối ưu hóa kích thước, định dạng (WebP, AVIF) và lazy loading cho hình ả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...
1271

Khi nào nên sử dụng Incremental Static Regeneration (ISR) thay vì Server-Side Rendering (SSR) trong một dự án Enterprise?

Middle

ISR là một kỹ thuật lai giữa Static Generation và SSR, cho phép cập nhật các trang tĩnh sau khi đã build mà không cần build lại toàn bộ ứng 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...
1272

Giải thích cách xử lý lỗi (Error Handling) trong Next.js App Router. Sự khác biệt giữa file `error.js` và `global-error.js` là gì?

Middle

Trong Next.js App Router, việc xử lý lỗi được thực hiện thông qua các file quy ước giúp cô lập lỗi và giữ cho ứng dụng không bị crash toàn bộ.

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

Mục đích của directive v-slot mới là gì?

Middle

Trong phiên bản Vue 2.6, cú pháp slot mới được cung cấp thông qua directive v-slot, giúp đồng bộ cú pháp với Vue 3.0. Cú pháp này sẽ thay thế cho cú pháp slot cũ.

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

Làm thế nào để cài đặt các plugin trong một dự án Vue CLI đã có sẵn?

Middle

Bạn có thể cài đặt một plugin vào dự án đã được khởi tạo bằng lệnh vue add.

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

Thiết kế một hệ thống tạo ID ngẫu nhiên phân tán

Middle

Tham khảo bài viết công bố Snowflake của Twitter (https://blog.twitter.com/2010/announcing-snowflake) và mã nguồn dự án Snowflake (https://github.com/twitter/snowflake/)

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