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 T-SQL

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

Cơ chế hoạt động của các loại Join (INNER, LEFT, RIGHT, FULL) khác nhau như thế nào về mặt tập hợp dữ liệu?

Junior

Phân tích 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...
17

Sự khác biệt giữa Table Variable và Temporary Table trong T-SQL là gì và khi nào nên chọn loại nào?

Junior

So sánh chi tiế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...
18

Làm thế nào để tránh vấn đề Deadlock khi thực hiện các thao tác cập nhật dữ liệu đồng thời trong T-SQL?

Junior

Nguyên nhân gây Deadlock

Deadlock xảy ra khi hai hoặc nhiều tiến trình cùng giữ khóa (lock) trên các tài nguyên mà tiến trình kia đang cần, dẫn đến trạng thái chờ đợi vô 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

Hãy giải thích chi tiết cơ chế hoạt động của User Defined Functions trong lập trình T-SQL.

Junior

Trong phát triển dự án với T-SQL, việc tối ưu hóa và quản lý tốt User Defined Functions 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...
20

Hãy giải thích chi tiết cơ chế hoạt động của Variables declaration trong lập trình T-SQL.

Junior

Trong phát triển dự án với T-SQL, việc tối ưu hóa và quản lý tốt Variables declaration 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...
21

Cơ chế hoạt động của Index Seek và Index Scan trong T-SQL là gì, và làm thế nào để tối ưu hóa các truy vấn có hiện tượng Table Scan trên các bảng dữ liệu lớn hàng triệu dòng?

Middle

1. Bản chất cơ chế hoạt động

  • Index Seek: Query Optimizer sử dụng B-Tree Index để tìm kiếm trực tiếp các trang dữ liệu (data pages) chứa giá trị thỏa mãn điều kiện WHERE. Thao tác này cực kỳ hiệu quả, chỉ đọc một số lượng trang dữ liệu tối thiểu.
  • Index Scan (hoặc Table Scan): Query Optimizer phải duyệt qua toàn bộ các trang dữ liệu của bảng hoặc index từ đầu đến cuối để tìm kiếm dữ liệu. Chi phí I/O và CPU tăng tuyến tính theo kích thước bảng.

2. Nguyên nhân dẫn đến Table Scan / Index Scan

  • Thiếu Index phù hợp cho mệnh đề WHERE hoặc JOIN.
  • Sử dụng hàm hoặc toán tử chuyển đổi kiểu dữ liệu lên cột được đánh Index (ví dụ: WHERE YEAR(OrderDate) = 2023 làm mất tác dụng của Index trên cột OrderDate).
  • Cột đầu tiên trong Composite Index không được sử dụng trong điều kiện tìm kiếm (vi phạm quy tắc Left-most prefix).
  • Bảng có kích thước quá nhỏ (SQL Server đánh giá Scan nhanh hơn Seek).

3. Phương pháp tối ưu hóa

  • Sử dụng SARGable Predicates: Viết điều kiện truy vấn có thể tận dụng Index. Ví dụ thay vì WHERE YEAR(OrderDate) = 2023, hãy dùng WHERE OrderDate >= '2023-01-01' AND OrderDate < '2024-01-01'.
  • Tạo Covering Index: Đưa các cột cần SELECT vào mệnh đề INCLUDE của Index để tránh việc Bookmark Lookup.
  • Cập nhật Statistics: Chạy UPDATE STATISTICS định kỳ để Query Optimizer đưa ra Execution Plan chính xác.

4. Lưu ý thực chiến Enterprise

Đối với các hệ thống OLTP, việc để xảy ra Table Scan trên các bảng hàng triệu dòng trong các transaction thường xuyên sẽ gây nghẽn cổ chai CPU và Disk I/O, dẫn đến lock tranh chấp diện rộng. Luôn kiểm tra Execution Plan thực tế trên môi trường Staging với dữ liệu tương đương Production.

22

Deadlock là gì trong T-SQL, và chiến lược xử lý triệt để hiện tượng Deadlock trong các hệ thống Transaction cao cấp được áp dụng như thế nào?

Middle

1. Định nghĩa Deadlock

Deadlock xảy ra khi hai hoặc nhiều Task (Process) giữ độc quyền khóa trên các tài nguyên khác nhau, đồng thời lại yêu cầu khóa trên tài nguyên mà Process kia đang giữ, khiến cả hai bị kẹt vĩnh viễn không thể tiếp tục cho đến khi SQL Server phát hiện và hủy (kill) một Process làm nạn nhân (Deadlock Victim).

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

Sự khác biệt cốt lõi giữa Stored Procedure và User-Defined Function (UDF) trong T-SQL là gì, và việc lựa chọn sai đối tượng này ảnh hưởng thế nào đến kiến trúc hệ thống?

Middle

1. Phân biệt Stored Procedure và UDF

  • Stored Procedure (SP):
    • Có thể thực hiện các thao tác thay đổi dữ liệu (DML: INSERT, UPDATE, DELETE) và quản trị hệ thống (DDL).
    • Hỗ trợ trả về nhiều tập dữ liệu (result sets), tham số đầu ra (OUTPUT parameters) và mã trạng thái trả về (RETURN value).
    • Không thể được gọi trực tiếp bên trong một câu lệnh SELECT.
  • User-Defined Function (UDF):
    • Scalar Function và Inline Table-Valued Function chỉ thực hiện đọc dữ liệu (không được chứa các lệnh thay đổi dữ liệu hoặc gọi stored procedure).
    • Có thể được lồng trực tiếp vào trong các câu lệnh SELECT, WHERE, JOIN.

2. Ảnh hưởng kiến trúc khi sử dụng sai

  • Lạm dụng Scalar UDF: Scalar UDF thực thi một cách tuần tự cho từng dòng dữ liệu trong tập kết quả (Row-by-row execution), gây suy giảm hiệu năng nghiêm trọng (Performance bottleneck) trên các bảng lớn. Từ SQL Server 2019, tính năng Scalar UDF Inlining đã được giới thiệu để khắc phục phần nào, nhưng bản chất kiến trúc vẫn nên hạn chế.
  • Sử dụng sai Multi-Statement Table-Valued Functions (MSTVF): MSTVF khai báo một biến bảng bên trong và trả về nó. SQL Server thường ước lượng số dòng sai lệch nghiêm trọng (thường cố định là 1 hoặc 100 dòng) đối với MSTVF, dẫn đến Execution Plan kém tối ưu.

3. Lựa chọn tối ưu

  • Sử dụng Stored Procedure cho các business logic phức tạp, xử lý dữ liệu hàng loạt (Batch processing), tương tác DML.
  • Sử dụng Inline Table-Valued Function (ITVF) thay cho Scalar UDF và MSTVF khi cần tái sử dụng logic truy vấn có trả về bảng, vì ITVF được biên dịch nội tuyến (inlined) vào câu lệnh gọi chính giống như một View có tham số.

4. Lưu ý thực chiến Enterprise

Tránh tuyệt đối việc viết Business Logic phức tạp nằm sâu bên trong các Scalar UDF được gọi từ câu lệnh SELECT của các báo cáo lớn.

24

Cơ chế hoạt động của Indexes (Clustered và Non-Clustered) trong T-SQL ảnh hưởng như thế nào đến thao tác ghi (DML) và đọc (SELECT) dữ liệu?

Middle

1. Clustered Index

  • Cơ chế: Sắp xếp và lưu trữ các dòng dữ liệu vật lý trong bảng dựa trên khóa của Clustered Index. Mỗi bảng chỉ có duy nhất một Clustered Index.
  • Ảnh hưởng SELECT: Cực kỳ tối ưu khi truy vấn theo khoảng giá trị (Range queries) vì dữ liệu nằm liền kề nhau trên các trang đĩa.
  • Ảnh hưởng DML: Khi thực hiện INSERT hoặc UPDATE khóa chính, nếu trang dữ liệu bị đầy (Page Split), SQL Server phải phân tách trang dữ liệu, di chuyển một nửa dữ liệu sang trang mới, gây tiêu tốn tài nguyên I/O và tạo phân mảnh (Fragmentation).

2. Non-Non-Clustered Index

  • Cơ chế: Cấu trúc B-Tree riêng biệt, chứa các giá trị khóa của Index và con trỏ (Row Locator) trỏ về trang dữ liệu thực tế (nếu bảng không có Clustered Index) hoặc trỏ về khóa Clustered Index (nếu bảng có Clustered Index).
  • Ảnh hưởng SELECT: Giúp tìm kiếm nhanh chóng, nhưng nếu câu lệnh SELECT yêu cầu các cột không có trong Index, hệ thống phải thực hiện thêm bước Key Lookup / RID Lookup để lấy dữ liệu từ bảng gốc.
  • Ảnh hưởng DML: Mỗi khi có thao tác INSERT, UPDATE, DELETE trên bảng, mọi Non-Clustered Index liên quan cũng phải được cập nhật đồng thời. Quá trình này làm tăng chi phí ghi dữ liệu (Write Amplification).

3. Chiến lược quản trị trong Enterprise

  • Không đánh Index tràn lan. Chỉ đánh Index cho các cột thường xuyên xuất hiện trong mệnh đề WHERE, JOIN, ORDER BY và GROUP BY.
  • Thường xuyên theo dõi mức độ phân mảnh (Fragmentation) và thực hiện Rebuild hoặc Reorganize Index định kỳ để duy trì hiệu suất.

4. Lưu ý thực chiến Enterprise

Ưu tiên chọn khóa Clustered Index có tính chất tăng tuần tự (Sequential),ẹp hẹp (như INT hoặc BIGINT IDENTITY) thay vì sử dụng GUID (NEWID()) để tránh tình trạng phân mảnh trang dữ liệu nghiêm trọng do chèn ngẫu nhiên.

25

Giải pháp phân vùng bảng (Table Partitioning) trong T-SQL hoạt động như thế nào, và lợi ích thực tế của nó đối với các hệ thống dữ liệu lớn (VLDB) là gì?

Middle

1. Cơ chế hoạt động của Table Partitioning

  • Partition Function: Định nghĩa cách chia nhỏ dữ liệu thành các khoảng (ranges) dựa trên giá trị của một cột cụ thể (Partition Key, ví dụ: ngày tháng hoặc mã chi nhánh).
  • Partition Scheme: Ánh xạ các khoảng dữ liệu được định nghĩa bởi Partition Function vào các Filegroups khác nhau trên hệ thống lưu trữ.
  • Về mặt logic, bảng vẫn xuất hiện như một đối tượng duy nhất, nhưng về mặt vật lý, dữ liệu được chia thành nhiều phân vùng độc lập.

2. Lợi ích kiến trúc trong hệ thống VLDB (Very Large DataBase)

  • Tối ưu hóa hiệu năng truy vấn (Partition Elimination): Khi câu lệnh truy vấn có chứa điều kiện lọc trên cột Partition Key, Query Optimizer thông minh chỉ quét qua các phân vùng (partitions) liên quan thay vì quét toàn bộ bảng.
  • Quản lý dữ liệu lịch sử hiệu quả (Sliding Window Scenario): Cho phép thực hiện thao tác xóa dữ liệu cũ hoặc thêm dữ liệu mới trong thời gian chớp mắt thông qua lệnh SWITCH PARTITION mà không cần chạy lệnh DELETE tốn kém tài nguyên và gây khóa bảng.
  • Bảo trì linh hoạt: Có thể thực hiện Rebuild Index trên từng phân vùng riêng biệt thay vì phải chạy trên toàn bộ bảng lớn.

3. Điều kiện tiên quyết và hạn chế

  • Bảng phải có kích thước đủ lớn để việc phân vùng mang lại hiệu quả vượt trội hơn chi phí quản lý.
  • Khóa Clustered Index của bảng bắt buộc phải chứa cột Partition Key.

4. Lưu ý thực chiến Enterprise

Partitioning là công cụ đắc lực cho các hệ thống Data Warehouse hoặc hệ thống Log giao dịch lớn. Tuy nhiên, việc thiết kế sai Partition Key có thể làm giảm hiệu năng hệ thống nếu các truy vấn thường xuyên quét chéo qua nhiều phân vùng khác nhau.

26

Làm thế nào để phân tích và xử lý hiện tượng Parameter Sniffing trong T-SQL Stored Procedures?

Middle

1. Bản chất của Parameter Sniffing

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

Cơ chế hoạt động của các mức cô lập giao dịch (Transaction Isolation Levels) trong T-SQL ảnh hưởng như thế nào đến tính toàn vẹn dữ liệu và hiệu năng hệ thống?

Middle

1. Các vấn đề về đồng thời (Concurrency Problems)

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

Sự khác biệt giữa việc sử dụng hàm tự định nghĩa Multi-Statement Table-Valued Functions (MSTVF) và Inline Table-Valued Functions (ITVF) về mặt tối ưu hóa truy vấn trong T-SQL là gì?

Middle

1. Định nghĩa 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...
29

Làm thế nào để xử lý tối ưu các tập dữ liệu lớn bằng cách sử dụng Batch Processing thay vì vòng lặp Cursor truyền thống trong T-SQL?

Middle

1. Vấn đề của Cursor truyền thố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...
30

Làm thế nào để phân tích và tối ưu hóa Execution Plan trong T-SQL khi gặp vấn đề truy vấn chậm trên các bảng hàng triệu dòng?

Middle

1. Khái niệm và phương pháp thu thập

Execution Plan (Kế hoạch thực thi) là lộ trình mà SQL Server Query Optimizer chọn để thực thi câu lệnh T-SQL. Để phân tích, lập trình viên có thể sử 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...
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