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 Mongodb

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.

16

Trong MongoDB, sự khác biệt giữa cơ chế Write Concern và Read Preference ảnh hưởng như thế nào đến tính nhất quán dữ liệu trong hệ thống phân tán?

Junior

Phân tích cơ chế

  1. Write Concern: Xác định mức độ xác nhận từ phía server khi thực hiện ghi dữ liệu. Ví dụ, w: 1 chỉ xác nhận ghi vào primary, trong khi w: 'majority' đảm bảo dữ liệu đã được ghi vào đa số các node trong Replica Set, giúp tránh mất mát dữ liệu khi primary bị 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...
17

Tại sao việc sử dụng toán tử $push kết hợp với $each trong MongoDB lại hiệu quả hơn việc cập nhật mảng thủ công trong ứng dụng?

Junior

Bản chất vấn đề

Toán tử $push kết hợp với $each cho phép thêm nhiều phần tử vào một mảng trong một thao tác duy nhất (atomic operation). Nếu bạn lấy mảng về ứng dụng, thêm phần tử rồi lưu lại, bạn sẽ đối mặt với rủi ro Race Condition (nhiều tiến trình cùng cập nhật một mả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...
18

Cơ chế TTL Index (Time-To-Live) trong MongoDB hoạt động như thế nào và những rào cản kỹ thuật nào cần lưu ý khi triển khai?

Junior

Cơ chế hoạt động

TTL Index là một loại index đặc biệt cho phép tự động xóa các document sau một khoảng thời gian nhất định dựa trên giá trị của một trường kiểu Date. MongoDB chạy một background thread (thường mỗi 60 giây) để quét và xóa các document hết hạ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...
19

Làm thế nào để xử lý tình trạng 'Slow Queries' bằng cách sử dụng công cụ Explain Plan trong MongoDB?

Junior

Phương pháp phân tích

Sử dụng phương thức .explain('executionStats') để kiểm tra cách MongoDB thực thi truy vấn. Các chỉ số quan trọng cần quan tâ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...
20

Sự khác biệt giữa cơ chế 'Covered Query' và truy vấn thông thường trong MongoDB là gì?

Junior

Định nghĩa

Một truy vấn được gọi là 'Covered Query' khi tất cả các trường được yêu cầu trong truy vấn đều nằm trong Index, và không có trường nào yêu cầu phải truy xuất từ Document gốc (trên đĩa cứ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...
21

Sự khác biệt cốt lõi giữa Embedded Document và Referenced Document trong thiết kế schema của MongoDB là gì và khi nào Junior nên chọn phương án nào?

Junior

1. Sự khác biệt cốt lõi

  • Embedded Document (Nhúng tài liệu): Lưu trữ dữ liệu liên quan trực tiếp bên trong một document chính. Giúp truy vấn dữ liệu toàn diện chỉ trong một thao tác đọc duy nhất.
  • Referenced Document (Tham chiếu tài liệu): Lưu trữ dữ liệu liên quan ở các collection khác và liên kết chúng thông qua ObjectId (giống khóa ngoại trong SQL).

2. Tiêu chí lựa chọn cho Junior

  • Nên chọn Embedded khi:
    • Mối quan hệ là 1-1 hoặc 1-few (một-vài).
    • Dữ liệu con thường xuyên được truy xuất cùng với dữ liệu cha.
    • Ví dụ: Một bài viết (Post) có danh sách các bình luận ngắn (Comments) giới hạn số lượng.
  • Nên chọn Referenced khi:
    • Mối quan hệ là 1-many lớn hoặc many-many.
    • Dữ liệu con thay đổi độc lập và phát triển với kích thước không giới hạn (tránh vượt quá giới hạn 16MB của một document trong MongoDB).
    • Ví dụ: Sản phẩm trong kho hàng liên kết với danh mục sản phẩm lớn.

3. Kinh nghiệm thực chiến

Junior thường hay lạm dụng việc nhúng toàn bộ dữ liệu khiến document phình to, làm giảm hiệu năng ghi dữ liệu và vi phạm giới hạn kích thước của MongoDB. Hãy cân nhắc kỹ về tốc độ đọc so với tốc độ ghi trước khi quyết định thiết kế schema.

22

Cơ chế hoạt động của Single Field Index và Compound Index trong MongoDB khác nhau như thế nào, và quy tắc Left-prefix áp dụng ra sao?

Junior

1. Bản chất cơ chế

  • Single Field Index: Chỉ mục trên một trường duy nhất của document, giúp tăng tốc độ tìm kiếm cho các truy vấn dựa trên trường đó.
  • Compound Index (Chỉ mục kết hợp): Chỉ mục trên nhiều trường cùng lúc. MongoDB sắp xếp dữ liệu theo thứ tự các trường được định nghĩa trong index.

2. Quy tắc Left-prefix (Tiền tố bên trái)

  • Khi bạn tạo một Compound Index gồm nhiều trường, ví dụ: { status: 1, createdAt: -1 }, MongoDB có thể sử dụng index này cho:
    • Truy vấn tìm kiếm theo status.
    • Truy vấn tìm kiếm theo cả status VÀ createdAt.
  • Tuy nhiên, nó KHÔNG tối ưu hoặc không sử dụng index nếu bạn chỉ truy vấn mỗi trường createdAt.

3. Ví dụ minh họa

// Tạo Compound Index
db.orders.createIndex({ status: 1, totalAmount: -1 });

// Sử dụng hiệu quả Index
db.orders.find({ status: "pending", totalAmount: { $gt: 100 } });

// Vẫn sử dụng được Index vì trường 'status' nằm ở bên trái
db.orders.find({ status: "completed" });

// KHÔNG hiệu quả (phải quét toàn bộ collection - Collection Scan)
db.orders.find({ totalAmount: { $gt: 100 } });

4. Kinh nghiệm thực chiến

Luôn đặt các trường có tính lọc cao (độ phân giải dữ liệu lớn, ví dụ: userId, status) ở vị trí bên trái trong Compound Index để tối ưu hóa hiệu năng truy vấn cho ứng dụng.

23

Làm thế nào để xử lý lỗi Connection Pooling và mô hình kết nối bất đồng bộ trong ứng dụng Node.js khi tương tác với MongoDB?

Junior

1. Bản chất Connection Pooling

  • Connection Pool là tập hợp các kết nối vật lý đã được thiết lập sẵn tới cơ sở dữ liệu MongoDB. Thay vì mở và đóng kết nối liên tục cho mỗi request (gây lãng phí tài nguyên và độ trễ cao), ứng dụng sẽ mượn kết nối từ pool, thực hiện câu lệnh và trả lại.

2. Cấu hình tiêu chuẩn trong Node.js (Mongoose / Native Driver)

Khi khởi tạo kết nối, Junior cần chú ý cấu hình kích thước pool phù hợ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...
24

Phương pháp tối ưu hóa phân trang (Pagination) trong MongoDB cho lượng dữ liệu lớn giữa Skip-Limit và Range-Based Pagination là gì?

Junior

1. Vấn đề với Skip-Limit Pagination

  • Cú pháp thông thường:
    db.items.find().sort({ _id: 1 }).skip(100000).limit(10);
  • Hạn chế: Khi số lượng skip lớn (ví dụ: nhảy qua 100,000 bản ghi), MongoDB vẫn phải duyệt qua và bỏ qua đúng 100,000 bản ghi trước đó trong bộ nhớ RAM hoặc trên đĩa cứng, gây suy giảm hiệu năng nghiêm trọng (O(n)).

2. Giải pháp Range-Based Pagination (Cursor-based)

  • Thay vì dùng skip, ta sử dụng giá trị của trường được sắp xếp từ trang trước làm điều kiện lọc cho trang 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...
25

Cơ chế quản lý kiểu dữ liệu BSON và cách xử lý lỗi tràn giới hạn kích thước Document 16MB trong MongoDB diễn ra như thế nào?

Junior

1. Bản chất BSON và giới hạn 16MB

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

Hãy giải thích chi tiết cơ chế hoạt động của Aggregation Pipeline optimization trong lập trình Mongodb.

Junior

Trong phát triển dự án với Mongodb, việc tối ưu hóa và quản lý tốt Aggregation Pipeline optimization là vô cùng quan trọng để đảm bảo tính ổn định và hiệu năng của hệ thống. Dưới đây là các khía cạnh kỹ thuật 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...
27

Hãy giải thích chi tiết cơ chế hoạt động của Transactions ACID trong lập trình Mongodb.

Junior

Trong phát triển dự án với Mongodb, việc tối ưu hóa và quản lý tốt Transactions ACID là vô cùng quan trọng để đảm bảo tính ổn định và hiệu năng của hệ thống. Dưới đây là các khía cạnh kỹ thuật 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...
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