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)
Khóa học Chuyên sâu Availability & Reliability

Làm Chủ Phỏng Vấn & Nâng Cao Trình Độ Chuyên Nghiệp

Hệ thống khóa học thực chiến chuẩn Enterprise giúp bạn tự tin chinh phục mọi kỳ phỏng vấn kỹ thuật và thăng tiến thu nhập.

01

Trong kiến trúc Microservices, tại sao việc sử dụng Circuit Breaker lại là giải pháp then chốt để duy trì tính sẵn sàng (Availability) khi một dịch vụ phụ thuộc bị treo?

Middle

Circuit Breaker là một mẫu thiết kế (design pattern) giúp ngăn chặn sự lan truyền lỗi trong hệ thống phân tán. Khi một dịch vụ gọi đến dịch vụ khác (thông qua HTTP hoặc gRPC) mà dịch vụ đó phản hồi chậm hoặc lỗi liên tục, Circuit Breaker sẽ chuyển trạng thái từ Closed sang Open. Khi ở trạng thái Open, mọi yêu cầu gọi đến dịch vụ đó sẽ bị chặn ngay lập tức (fail-fast), giúp dịch vụ gọi không bị treo do chờ đợi (blocking) và có thời gian để dịch vụ bị lỗi phục hồi. Điều này ngăn chặn hiện tượng Cascading Failure và bảo vệ tài nguyên hệ thống.

02

Cơ chế Graceful Shutdown là gì và tại sao nó lại quan trọng đối với tính sẵn sàng của ứng dụng khi triển khai cập nhật (Deployment) trên Kubernetes?

Middle

Graceful Shutdown là quá trình ứng dụng dừng hoạt động một cách có kiểm soát khi nhận được tín hiệu kết thúc (SIGTERM). Thay vì dừng đột ngột, ứng dụng sẽ: 1. Ngừng nhận các request mới từ Load Balancer. 2. Hoàn thành các request đang xử lý dở dang (in-flight requests). 3. Đóng các kết nối Database và Message Queue một cách an toàn. Nếu không có cơ chế này, các request đang xử lý sẽ bị ngắt giữa chừng, gây ra lỗi 5xx cho người dùng và có thể làm hỏng dữ liệu (data corruption) trong các giao dịch chưa hoàn tất.

03

Tại sao việc sử dụng cơ chế Idempotency trong các API xử lý giao dịch lại là yếu tố sống còn để đảm bảo tính tin cậy (Reliability) của hệ thống?

Middle

Trong môi trường phân tán, việc gửi lại yêu cầu (retry) là không thể tránh khỏi do lỗi mạng. Idempotency đảm bảo rằng dù một hành động được thực hiện nhiều lần với cùng một tham số, kết quả cuối cùng trên hệ thống vẫn không thay đổi. Ví dụ, khi thanh toán, nếu client gửi request nhưng bị timeout, client sẽ retry. Nếu không có Idempotency Key, hệ thống có thể trừ tiền khách hàng hai lần. Giải pháp thực chiến là sử dụng Idempotency-Key trong header, lưu trữ key này vào Redis hoặc Database để kiểm tra xem request đã được xử lý thành công trước đó hay chưa.

04

Shadowing (Traffic Mirroring) là gì và tại sao nó lại là kỹ thuật quan trọng để kiểm tra tính sẵn sàng của hệ thống trước khi triển khai phiên bản mới?

Middle

Shadowing là kỹ thuật sao chép lưu lượng truy cập thực tế (live traffic) từ môi trường Production sang một môi trường thử nghiệm (staging/shadow) mà không làm ảnh hưởng đến phản hồi thực tế của người dùng. Kỹ thuật này cho phép kiểm tra cách hệ thống mới xử lý tải thực tế, phát hiện các lỗi tiềm ẩn về hiệu năng hoặc logic mà môi trường test thông thường không thể mô phỏng được. Điều này giúp giảm thiểu rủi ro khi thay đổi kiến trúc hoặc nâng cấp phiên bản, đảm bảo tính sẵn sàng cao khi chính thức thay thế phiên bản cũ.

05

Tại sao việc sử dụng Thread Pool hoặc Connection Pool không giới hạn (unbounded) lại là nguyên nhân gây ra sự cố sập hệ thống dưới tải cao?

Middle

Việc sử dụng unbounded pool khiến hệ thống cố gắng tạo ra vô hạn các tài nguyên (thread hoặc kết nối) khi lưu lượng tăng đột biến. Điều này dẫn đến cạn kiệt tài nguyên hệ điều hành (Memory, File Descriptors, CPU context switching). Khi tài nguyên cạn kiệt, hệ thống sẽ rơi vào trạng thái không thể phản hồi (unresponsive). Giải pháp Enterprise là sử dụng Bounded Pool với cơ chế hàng đợi (queue) có giới hạn và chiến lược từ chối (rejection policy) phù hợp, giúp hệ thống duy trì sự ổn định thay vì sụp đổ hoàn toàn.

06

Dead Letter Queue (DLQ) là gì trong hệ thống Message Broker, và tại sao nó lại là thành phần cốt lõi để đảm bảo độ tin cậy và xử lý lỗi bất đồng bộ trong kiến trúc Microservices?

Middle

Bản chất của Dead Letter Queue (DLQ)

Dead Letter Queue (DLQ) là một hàng đợi đặc biệt trong hệ thống Message Broker (như RabbitMQ, AWS SQS, Apache Kafka) dùng để lưu trữ các thông điệp (messages) không thể được xử lý hoặc tiêu thụ thành công bởi các Consumer sau một số lần thử lại 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...
07

Distributed Caching với Redis Cluster giải quyết bài toán Single Point of Failure (SPOF) như thế nào so với việc dùng một Redis Instance đơn lẻ?

Middle

Hạn chế của Redis Instance đơn lẻ

Khi sử dụng một Redis instance đơn lẻ, toàn bộ dữ liệu cache phụ thuộc vào một tiến trình và một máy chủ duy nhất. Nếu máy chủ đó gặp sự cố phần cứng, sập nguồn hoặc quá tải CPU, toàn bộ hệ thống Database phía sau sẽ chịu một lượng lớn truy vấn đồng thời (Cache Stampede), dẫn đến sập hệ thống (Cascading Failures).

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

Sự khác biệt cốt lõi giữa tính năng Liveness Probe và Readiness Probe trong Kubernetes là gì, và điều gì sẽ xảy ra nếu cấu hình sai hai tham số này đối với tính sẵn sàng của ứng dụng?

Middle

Khái niệm cốt lõ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...
09

Database Indexing ảnh hưởng như thế nào đến hiệu năng hệ thống (Performance) và tính sẵn sàng (Availability), và tại sao việc lạm dụng Index lại phản tác dụng?

Middle

Vai trò của Database Index đối với Hiệu năng

Database Index (thường dựa trên cấu trúc dữ liệu B-Tree) giúp Database Engine tìm kiếm dữ liệu mà không cần phải duyệt qua toàn bộ bảng (Full Table Scan). Điều này làm giảm độ phức tạp thuật toán từ O(N) xuống O(log N), giúp các câu lệnh truy vấn (SELECT) trả về kết quả trong thời gian ngắn, giữ cho kết nối database không bị nghẽn (Connection Pool Exhaustion).

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

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

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

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

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

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