Phỏng vấn English
Vocabulary — Từ vựng phỏng vấn .NET English
Từ vựng technical theo chủ đề C#, OOP, SQL, ASP.NET, EF Core — kèm phát âm và ví dụ câu.
Cách dùng: chia thành 6 chủ đề. Mỗi ngày học 1 chủ đề — đọc to từ + định nghĩa English + tự đặt 1 câu ví dụ. Sau 1 tuần là vào nếp.
A. C# & .NET fundamentals
| English | VN | Ví dụ câu |
|---|---|---|
| value type | kiểu giá trị | "An int is a value type, stored on the stack." |
| reference type | kiểu tham chiếu | "A class is a reference type, the variable holds a pointer to the heap." |
| stack / heap | stack/heap | "Local variables live on the stack; objects live on the heap." |
| garbage collection (GC) | thu gom rác | ".NET handles memory automatically through garbage collection." |
| immutable | không đổi được | "Strings are immutable in C#." |
| boxing / unboxing | đóng / mở hộp | "Boxing wraps a value type into an object on the heap." |
| generic | tổng quát hoá | "I use generics to write reusable, type-safe code." |
| delegate | con trỏ hàm | "A delegate is a type-safe function pointer." |
| event | sự kiện | "An event is a wrapper around a delegate that restricts how subscribers can call it." |
| lambda expression | lambda | "I prefer lambda expressions over anonymous methods for brevity." |
| closure | bao đóng | "A closure captures variables from the enclosing scope." |
| extension method | method mở rộng | "LINQ is built on extension methods for IEnumerable." |
| null-coalescing | toán tử ?? | "I use the null-coalescing operator to provide a default value." |
| nullable reference type | reference nullable | ".NET 6 enables nullable reference types by default." |
B. OOP & Design
| English | VN | Ví dụ câu |
|---|---|---|
| encapsulation | đóng gói | "Encapsulation hides internal state behind a public API." |
| abstraction | trừu tượng | "Abstraction lets us focus on what a type does, not how." |
| inheritance | kế thừa | "I prefer composition over inheritance in most cases." |
| polymorphism | đa hình | "Runtime polymorphism in C# is achieved via virtual and override." |
| override | ghi đè | "The derived class overrides the base method." |
| overload | nạp chồng | "I overloaded the constructor to accept different argument lists." |
| abstract class | lớp trừu tượng | "An abstract class can have both abstract and concrete members." |
| interface | giao diện | "I extracted an interface to make the class testable." |
| composition | thành phần | "Composition gives more flexibility than inheritance." |
| coupling / cohesion | gắn kết | "Aim for low coupling and high cohesion." |
| design pattern | mẫu thiết kế | "Singleton is a common creational pattern." |
| dependency injection (DI) | tiêm phụ thuộc | "ASP.NET Core has built-in dependency injection." |
| SOLID principles | nguyên lý SOLID | "SOLID stands for five OOP principles." |
| single responsibility | trách nhiệm đơn | "Single Responsibility Principle — a class should have only one reason to change." |
| open / closed | mở / đóng | "Open for extension, closed for modification." |
C. Database & SQL
| English | VN | Ví dụ câu |
|---|---|---|
| schema | lược đồ | "I designed the schema with three normalized tables." |
| primary key (PK) | khoá chính | "Each table has a primary key for unique identification." |
| foreign key (FK) | khoá ngoại | "The foreign key enforces referential integrity." |
| constraint | ràng buộc | "NOT NULL is a column-level constraint." |
| index | chỉ mục | "I added an index to speed up the lookup." |
| clustered / non-clustered | clustered/non | "A table can only have one clustered index." |
| JOIN (inner/left/right/full) | JOIN | "An inner join returns only matching rows from both tables." |
| normalization | chuẩn hoá | "Third normal form removes transitive dependencies." |
| denormalization | phi chuẩn hoá | "For reporting, I sometimes denormalize to avoid expensive joins." |
| transaction | giao dịch | "I wrapped the operations in a transaction." |
| ACID | ACID | "ACID stands for Atomicity, Consistency, Isolation, Durability." |
| deadlock | bế tắc | "Two transactions waiting for each other cause a deadlock." |
| stored procedure | thủ tục lưu trữ | "We moved the logic into a stored procedure for performance." |
| execution plan | kế hoạch thực thi | "I checked the execution plan to find the bottleneck." |
| full table scan | quét toàn bảng | "The query did a full table scan because the column wasn't indexed." |
D. Web / API / HTTP
| English | VN | Ví dụ câu |
|---|---|---|
| request / response | yêu cầu / phản hồi | "Every HTTP request has a corresponding response." |
| endpoint | điểm cuối | "I exposed three REST endpoints for user CRUD." |
| payload | nội dung | "The JSON payload contains the user data." |
| header / body | header / body | "Authentication tokens go in the Authorization header." |
| idempotent | luỹ đẳng | "PUT is idempotent; POST is not." |
| status code | mã trạng thái | "I return a 404 status code when the resource isn't found." |
| CORS | CORS | "I enabled CORS to allow the React frontend to call the API." |
| JWT (token) | JWT | "I use JWT for stateless authentication." |
| claim | claim | "Each token includes a role claim." |
| middleware | middleware | "I wrote a custom middleware to log request timing." |
| pipeline | pipeline | "ASP.NET Core has a request pipeline of middlewares." |
| routing | định tuyến | "Attribute routing lets me decorate controllers with route templates." |
| authentication | xác thực | "Authentication verifies who the user is." |
| authorization | phân quyền | "Authorization decides what the user is allowed to do." |
| rate limiting | giới hạn tốc độ | "I added rate limiting to prevent abuse." |
E. Entity Framework Core
| English | VN | Ví dụ câu |
|---|---|---|
| ORM | ORM | "EF Core is an object-relational mapper." |
| entity | thực thể | "Each table maps to a C# entity class." |
| DbContext | DbContext | "The DbContext is a unit of work for the session." |
| migration | migration | "I generated a migration with dotnet ef migrations add." |
| change tracking | theo dõi thay đổi | "EF Core uses change tracking to detect modifications." |
| lazy loading | tải lười | "Lazy loading can cause the N+1 query problem." |
| eager loading | tải sẵn | "I use .Include for eager loading of related entities." |
| N+1 problem | bài toán N+1 | "Looping with lazy loading triggers the N+1 query problem." |
| navigation property | property điều hướng | "User.Orders is a navigation property." |
| tracking / no-tracking | tracking | "I call .AsNoTracking() for read-only queries." |
| concurrency conflict | xung đột đồng thời | "EF Core uses RowVersion to detect concurrency conflicts." |
F. Soft skill & process
| English | VN | Ví dụ câu |
|---|---|---|
| scope | phạm vi | "We agreed on the scope before starting the sprint." |
| deadline | hạn chót | "I missed the deadline once and learned to communicate earlier." |
| trade-off | đánh đổi | "There's a trade-off between performance and readability." |
| bottleneck | điểm nghẽn | "The database was the bottleneck, not the API." |
| edge case | trường hợp biên | "I wrote tests covering the edge cases." |
| regression | hồi quy | "The new feature introduced a regression in the login flow." |
| code review | review code | "I learned a lot from senior engineers during code reviews." |
| pair programming | code đôi | "We did pair programming to debug the issue." |
| stand-up | họp đứng | "Daily stand-ups keep the team aligned." |
| sprint | sprint | "Each sprint is two weeks long in our team." |
| backlog | backlog | "We groom the backlog every Friday." |
| MVP | sản phẩm tối thiểu | "We shipped the MVP in six weeks." |
| proof of concept (POC) | POC | "I built a proof of concept to compare two approaches." |
| technical debt | nợ kỹ thuật | "We pay down technical debt every fourth sprint." |
| refactor | tái cấu trúc | "I refactored the service to follow SOLID." |
| trade-off | đánh đổi | "We considered the trade-offs before choosing Redis." |
G. Verbs hay dùng (action verbs)
| Verb | Meaning | Ví dụ câu |
|---|---|---|
| implement | hiện thực | "I implemented the search feature using LINQ." |
| design | thiết kế | "I designed the data model from scratch." |
| debug | sửa lỗi | "I debugged a memory leak in a production service." |
| deploy | triển khai | "We deploy twice a week to staging." |
| optimize | tối ưu | "I optimized the query and reduced response time by 70%." |
| integrate | tích hợp | "I integrated Stripe for payment." |
| scale | mở rộng | "We need to scale horizontally for next quarter." |
| maintain | duy trì | "The codebase is easy to maintain thanks to SOLID." |
| collaborate | hợp tác | "I collaborate closely with QA on test cases." |
| estimate | ước lượng | "I usually estimate with a 30% buffer." |
| troubleshoot | xử lý sự cố | "I troubleshoot by checking logs and reproducing locally." |
| leverage | tận dụng | "We leveraged caching to reduce DB load." |
| mitigate | giảm thiểu | "We mitigated the risk with feature flags." |
H. Filler & connector (giúp nói trôi)
| Phrase | Khi nào dùng |
|---|---|
| "Basically..." | Tóm tắt nhanh |
| "In other words..." | Diễn đạt lại |
| "For example..." | Cho ví dụ |
| "On the other hand..." | So sánh đối lập |
| "To put it simply..." | Đơn giản hoá |
| "What I mean is..." | Làm rõ |
| "Roughly speaking..." | Ước chừng |
| "As far as I know..." | Không chắc chắn 100% |
| "From my experience..." | Kể từ kinh nghiệm |
| "It depends on..." | Khi answer "depends" |
| "Long story short..." | Tóm gọn câu chuyện |
| "That said..." | Tuy nhiên / dù vậy |
I. Pronunciation traps thường sai
| Từ | Sai phổ biến | Đúng (IPA) | Ghi nhớ |
|---|---|---|---|
async | "a-sin" | /ˈeɪsɪŋk/ "ay-sink" | Nghĩ "asynchronous" rút gọn |
cache | "ca-chê" | /kæʃ/ "cash" | Phát âm như tiền mặt |
null | "nun" / "nu" | /nʌl/ "nul" | Giống "null" trong Java VN |
query | "kway-ri" | /ˈkwɪəri/ "kwee-ri" | Hai âm tiết |
schema | "se-mà" | /ˈskiːmə/ "SKEE-mə" | "Sk" không "Sh" |
tuple | "tu-pờ" | /ˈtʌpəl/ or /ˈtuːpəl/ | Cả hai đều OK |
nullable | "nu-la-bồ" | /ˈnʌl.ə.bəl/ "NUL-ə-bəl" | 3 âm |
parameter | "pa-ra-me-tờ" | /pəˈræmɪtər/ "pə-RAM-i-tər" | Trọng âm vào "RAM" |
executable | "ek-xê-cu-tê-bồ" | /ɪɡˈzekjʊtəbəl/ | Trọng âm "ZEK" |
architecture | "ar-ki-tek-chờ" | /ˈɑːkɪtektʃər/ "AR-ki-tek-chər" | Trọng âm đầu |
pseudocode | "pseu-do-code" | /ˈsuːdoʊkoʊd/ "SOO-doh-code" | "P" câm |
Tiếp theo: Technical Q&A bằng English