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

Phương pháp tối ưu hóa danh sách dữ liệu lớn (Large Lists) trong ứng dụng Ionic sử dụng Virtual Scroll hoạt động như thế nào?

Junior

Vấn đề với danh sách lớn

Khi hiển thị hàng nghìn dòng dữ liệu trong một thẻ ion-list, DOM sẽ phải gánh chịu hàng nghìn phần tử HTML, dẫn đến tình trạng giật lag (jank), chậm phản ứng chạm (touch delay) và tốn bộ nhớ trên các thiết bị di động cấu hình thấ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...
1742

Làm thế nào để xử lý các vấn đề liên quan đến CORS (Cross-Origin Resource Sharing) khi gọi API từ ứng dụng Ionic trên môi trường thiết bị thật (Native)?

Junior

Bản chất vấn đề

Khi chạy ứng dụng trên trình duyệt web (Browser/Development), các yêu cầu HTTP bị ràng buộc bởi chính sách bảo hiểm CORS của trình duyệt. Tuy nhiên, khi build ra ứng dụng Native (iOS/Android), ứng dụng chạy dưới giao thức file cục bộ (capacitor:// hoặc http://localhost), dẫn đến việc một số Backend API từ chối phản hồi nếu không được cấu hình chính xá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...
1743

Sự khác biệt cốt lõi giữa Semantic Tags và Non-Semantic Tags trong HTML5 là gì và tại sao việc sử dụng đúng Semantic Tags lại quan trọng đối với dự án Enterprise?

Junior

1. Phân biệt cốt lõi

  • Semantic Tags (Thẻ mang ý nghĩa ngữ nghĩa): Các thẻ như <header>, <footer>, <article>, <section>, <nav>, <main> cung cấp thông tin rõ ràng về ý nghĩa của nội dung bên trong cho cả trình duyệt lẫn lập trình viên.
  • Non-Semantic Tags (Thẻ không mang ý nghĩa ngữ nghĩa): Các thẻ như <div> và <span> chỉ dùng để gom nhóm hoặc định dạng mà không miêu tả bản chất của nội dung chứa bên trong.

2. Tầm quan trọng đối với dự án Enterprise

  • Accessibility (a11y): Các công cụ hỗ trợ người khuyết tật (Screen Readers) dựa vào Semantic Tags để điều hướng và đọc nội dung một cách chính xác.
  • SEO Optimization: Các công cụ tìm kiếm như Google ưu tiên phân tích cấu trúc trang web dựa trên ngữ nghĩa của thẻ để đánh giá tầm quan trọng của nội dung.
  • Maintainability: Giúp mã nguồn sạch sẽ, dễ đọc và dễ bảo trì khi quy mô dự án mở rộng với hàng trăm lập trình viên cùng tham gia.

3. Ví dụ minh họa

<!-- Không chuẩn Enterprise -->
<div class="header">
  <div class="nav">
    <div class="link">Trang chủ</div>
  </div>
</div>

<!-- Chuẩn Enterprise -->
<header>
  <nav>
    <a href="/">Trang chủ</a>
  </nav>
</header>

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

Ở cấp độ Junior, bạn cần tránh lạm dụng <div> cho mọi thành phần giao diện. Hãy luôn tự hỏi liệu có thẻ HTML5 nào mô tả chính xác hơn cho khối nội dung đang xây dựng hay không.

1744

Làm thế nào để tối ưu hóa hiệu năng tải trang khi sử dụng các tài nguyên hình ảnh (Images) trong HTML?

Junior

1. Cơ chế tối ưu hình ảnh

Hình ảnh thường chiếm phần lớn dung lượng tải xuống của một trang web. Việc tối ưu hóa giúp cải thiện chỉ số Core Web Vitals (đặc biệt là LCP - Largest Contentful Paint).

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

Cơ chế hoạt động của thuộc tính Async và Defer trong thẻ Script HTML là gì và khi nào nên sử dụng loại nào?

Junior

1. Vấn đề render chặn (Render-blocking)

Mặc định, khi trình duyệt gặp thẻ <script> trong quá trình phân tích cú pháp HTML (HTML Parsing), nó sẽ dừng việc phân tích lại, tải tệp JavaScript về và thực thi xong rồi mới tiếp tục, dẫn đến hiệu năng ké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...
1746

HTML5 Form Validation hoạt động như thế nào và làm thế nào để kết hợp giữa Validation phía client này với bảo mật backend?

Junior

1. Cơ chế hoạt động của HTML5 Form Validation

HTML5 cung cấp các thuộc tính native validation trực tiếp trên các Form Elements như required, minlength, maxlength, pattern, và type="email"/"url" mà không cần viết JavaScript phức tạ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...
1747

Open Graph (OG) Meta Tags là gì và tại sao chúng lại đóng vai trò quyết định trong chiến lược Digital Marketing của các hệ thống Web Enterprise?

Junior

1. Khái niệm Open Graph Meta Tags

Open Graph là một giao thức do Facebook phát triển, sau đó được các nền tảng mạng xã hội khác (Twitter, LinkedIn, Zalo...) áp dụng. Nó cho phép các trang HTML biến thành các đối tượng có phong phú thông tin khi được chia sẻ lên mạng xã hộ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...
1748

Sự khác biệt cốt lõi giữa Queries và Mutations trong GraphQL là gì và khi nào nên dùng từng loại?

Junior

Trong GraphQL, sự khác biệt cốt lõi nằm ở mục đích sử dụng và cơ chế thực thi:

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

Làm thế nào để thiết kế một Scalar Type tùy chỉnh (Custom Scalar) trong GraphQL Schema?

Junior

Mặc định GraphQL hỗ trợ các Scalar Types nguyên thủy gồm: Int, Float, String, Boolean, và ID. Tuy nhiên, trong các dự án thực tế, lập trình viên thường cần các kiểu dữ liệu phức tạp hơn như DateTime, EmailAddress, hoặc JSON.

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

Vai trò và cách sử dụng cơ bản của Arguments trong GraphQL Schema là gì?

Junior

Trong GraphQL, mọi trường (field) trong một Type đều có thể nhận các Arguments (tham số truyền vào). Điều này giúp GraphQL vượt trội hơn REST API truyền thống vì client có thể chủ động yêu cầu chính xác dữ liệu cần thiết thông qua các tham số.

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

Input Object Types trong GraphQL là gì và tại sao chúng lại bắt buộc phải dùng cho Mutations?

Junior

Input Object Types là một loại Schema đặc biệt cho phép gom nhóm nhiều trường dữ liệu lại thành một cấu trúc phức tạp để truyền vào làm tham số (arguments) cho Queries hoặc Mutations.

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

Interface và Union trong GraphQL khác nhau như thế nào và khi nào nên dùng loại nào?

Junior

Cả Interface và Union trong GraphQL đều được sử dụng để định nghĩa các kiểu dữ liệu trừu tượng (Abstract Types), cho phép trả về nhiều Object Types khác nhau từ một trường duy nhất. Tuy nhiên, chúng có cơ chế hoạt động 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...
1753

Cơ chế hoạt động của panic, recover và defer trong Go lang diễn ra như thế nào và best practices khi xử lý lỗi ngoại lệ?

Junior

Bản chất cơ chế

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

Sự khác biệt giữa khai báo Slice và Array trong Go lang là gì và tại sao Slice lại được sử dụng phổ biến hơn trong thực tế lập trình?

Junior

Bản chất cơ chế

  • Array (Mảng): Có kích thước cố định được định nghĩa tại thời điểm biên dịch (compile-time). Kích thước là một phần của kiểu dữ liệu (ví dụ: [3]int khác với [5]int). Array được truyền theo dạng Pass by Value (sao chép toàn bộ phần tử khi gán hoặc truyền vào hàm).
  • Slice (Lát cắt): Là một cấu trúc dữ liệu động linh hoạt hơn, bao gồm 3 thành phần: Con trỏ trỏ tới mảng ngầm định (Pointer), Độ dài hiện tại (Length), và Sức chứa tối đa (Capacity). Slice là kiểu tham chiếu nhẹ.

Tại sao Slice phổ biến hơn?

  1. Kích thước linh hoạt, có thể mở rộng thông qua hàm dựng sẵn append().
  2. Tiết kiệm bộ nhớ khi truyền vào hàm vì chỉ copy cấu trúc descriptor 24 bytes gồm pointer, len, cap chứ không copy toàn bộ mảng dữ liệu bên dưới.

Ví dụ minh họa

// Khai báo Array cố định
var arr [3]int = [3]int{1, 2, 3}

// Khai báo Slice động
var slice []int = []int{1, 2, 3}
slice = append(slice, 4)

Lưu ý kinh nghiệm thực chiến

Khi dùng append() trên Slice, nếu vượt quá Capacity, Go sẽ tự động cấp phát một vùng nhớ mới lớn gấp đôi và copy dữ liệu sang. Cần lưu ý hiện tượng rò rỉ bộ nhớ (Memory Leak) khi slice con trỏ tham chiếu đến một mảng lớn ban đầu khiến Garbage Collector không thể giải phóng vùng nhớ đó.

1755

Làm thế nào để quản lý Context trong Go lang nhằm kiểm soát thời gian timeout và hủy bỏ (cancellation) các tác vụ bất đồng bộ?

Junior

Bản chất cơ chế

Package context trong Go lang được thiết kế để truyền tải tín hiệu hủy bỏ (cancellation signal), deadline, thời hạn timeout và các giá trị phạm vi yêu cầu (request-scoped values) qua các API ranh giới và giữa các Goroutines.

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