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

Trong PostgreSQL, hiện tượng Deadlock xảy ra như thế nào trong các giao dịch đồng thời và làm thế nào để lập trình viên thiết kế ứng dụng nhằm giảm thiểu rủi ro này?

Middle

Bản chất của Deadlock

Deadlock xảy ra khi hai hoặc nhiều giao dịch (Transactions) chờ đợi lẫn nhau để giải phóng các khóa (Locks) trên cùng một tập hợp tài nguyên, khiến hệ thống rơi vào trạng thái treo. Trong PostgreSQL, điều này thường xảy ra khi các giao dịch cập nhật nhiều bảng theo thứ tự 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...
227

Partitioning trong PostgreSQL là gì và khi nào một kiến trúc Enterprise nên cân nhắc sử dụng Table Partitioning thay vì chỉ sử dụng Indexing thông thường?

Middle

Khái niệm Partitioning

Partitioning là kỹ thuật chia một bảng lớn thành các bảng con nhỏ hơn (partitions) dựa trên một khóa phân vùng (ví dụ: thời gian, vùng địa lý). Dữ liệu vẫn được truy cập thông qua bảng cha (parent table).

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

Trong PostgreSQL, sự khác biệt giữa các mức độ cô lập giao dịch (Transaction Isolation Levels) là gì và tại sao Read Committed lại là mặc định?

Middle

Các mức độ cô lậ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...
229

Làm thế nào để tối ưu hóa hiệu năng ghi dữ liệu (Write Performance) trong PostgreSQL khi hệ thống phải xử lý hàng nghìn lượt chèn dữ liệu mỗi giây?

Middle

Các chiến lược tối ưu hó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...
230

Giải thích cơ chế MVCC (Multi-Version Concurrency Control) trong PostgreSQL và tác động của nó đối với việc lưu trữ dữ liệu cũ (Bloat)?

Middle

Cơ chế MVCC

MVCC cho phép PostgreSQL duy trì nhiều phiên bản của cùng một hàng dữ liệu. Khi một hàng được cập nhật, PostgreSQL không ghi đè lên dữ liệu cũ mà tạo ra một phiên bản mới với thông tin về transaction ID (xmin, xmax). Điều này cho phép các giao dịch đọc không bị chặn bởi các giao dịch ghi.

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

Trong Reactive Programming, cơ chế Backpressure là gì và tại sao nó lại là thách thức lớn khi xử lý luồng dữ liệu tốc độ cao trong các hệ thống Enterprise?

Middle

Khái niệm Backpressure

Backpressure là cơ chế cho phép Consumer (bên tiêu thụ) thông báo cho Producer (bên phát) rằng nó đang bị quá tải và không thể xử lý dữ liệu với tốc độ hiện tại. Trong Reactive Programming, nếu Producer phát dữ liệu nhanh hơn tốc độ xử lý của Consumer, dữ liệu sẽ bị tích tụ trong bộ nhớ, dẫn đến hiện tượng tràn bộ nhớ (Memory Overflow) hoặc treo ứ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...
232

Sự khác biệt giữa concatMap và mergeMap trong việc duy trì thứ tự xử lý dữ liệu là gì? Khi nào nên ưu tiên sử dụng concatMap?

Middle

Phân tích cơ chế

  • mergeMap: Thực thi tất cả các Inner Observable ngay lập tức khi nhận được giá trị từ Source Observable. Nó không đảm bảo thứ tự kết quả trả về khớp với thứ tự dữ liệu đầu vào.
  • concatMap: Chờ đợi Inner Observable hiện tại hoàn thành (complete) trước khi bắt đầu Inner Observable tiếp theo. Nó đảm bảo tính tuần tự tuyệt đối.

Khi nào sử dụng concatMap?

Nên sử dụng concatMap khi thứ tự thực hiện là bắt buộc, ví dụ: cập nhật trạng thái đơn hàng (Order Status) từ 'Pending' sang 'Processing' rồi sang 'Completed'. Nếu dùng mergeMap, các request có thể đến server không đúng thứ tự, dẫn đến lỗi logic nghiệp vụ.

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

Toán tử window và buffer có điểm gì tương đồng và khác biệt? Hãy nêu tình huống sử dụng thực tế trong việc phân tích log hệ thống.

Middle

Điểm tương đồng

Cả hai đều được sử dụng để gom nhóm các giá trị từ một luồng dữ liệu thành các tập hợp nhỏ hơn dựa trên thời gian hoặc số lượ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...
234

Tại sao việc sử dụng Subject trong Service của Angular/React lại được coi là một Anti-pattern nếu không được quản lý đúng cách?

Middle

Bản chất vấn đề

Subject là cả Observable và Observer. Nếu bạn expose trực tiếp một Subject ra ngoài Service, bất kỳ component nào cũng có thể gọi .next() và làm thay đổi luồng dữ liệu (Data Stream) một cách không kiểm soát, vi phạm nguyên tắc đóng gói (Encapsulation).

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

Toán tử publish và refCount (hoặc share) có vai trò gì trong việc tối ưu hóa tài nguyên khi có nhiều Subscriber cùng lắng nghe một Observable?

Middle

Vấn đề

Với Cold Observable, mỗi khi có một Subscriber mới, toàn bộ logic bên trong Observable sẽ được thực thi lại từ đầu (ví dụ: thực hiện lại HTTP Request). Điều này gây lãng phí tài nguyên server.

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

Trong kiến trúc GraphQL, vấn đề N+1 query thường xảy ra như thế nào và làm thế nào để giải quyết triệt để bằng DataLoader?

Middle

Bản chất vấn đề N+1

Vấn đề N+1 xảy ra khi bạn truy vấn một danh sách các đối tượng (ví dụ: 10 bài viết) và sau đó với mỗi đối tượng, bạn thực hiện một truy vấn riêng biệt để lấy dữ liệu liên quan (ví dụ: tác giả của bài viết). Kết quả là bạn thực hiện 1 truy vấn gốc + N truy vấn con, gây áp lực lớn lên Database.

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

Làm thế nào để triển khai cơ chế Query Depth Limiting nhằm ngăn chặn các cuộc tấn công từ chối dịch vụ (DoS) trong GraphQL?

Middle

Tại sao cần Query Depth Limiting?

GraphQL cho phép client yêu cầu dữ liệu lồng nhau sâu vô tận (ví dụ: User -> Posts -> Comments -> Author -> Posts...). Một truy vấn quá sâu có thể làm cạn kiệt tài nguyên Server.

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

Sự khác biệt giữa Schema Stitching và Apollo Federation trong kiến trúc Microservices là gì?

Middle

Schema Stitching

Là phương pháp thủ công kết hợp nhiều Schema từ các Service khác nhau vào một Gateway duy nhất. Việc quản lý các quan hệ giữa các Service trở nên phức tạp và khó bảo trì khi hệ thống mở rộ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...
239

Trong GraphQL, làm thế nào để xử lý lỗi (Error Handling) một cách chuyên nghiệp để đảm bảo Client nhận được thông báo lỗi chi tiết mà không làm lộ thông tin hệ thống?

Middle

Cơ chế xử lý lỗi

GraphQL trả về mảng errors trong response. Không nên trả về stack trace của server trực tiếp cho client.

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

Giải thích cơ chế Caching trong GraphQL. Tại sao Caching ở phía Server (HTTP Cache) lại khó khăn hơn so với REST và cách khắc phục?

Middle

Tại sao khó Caching?

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