Khám Phá & Luyện Tập Câu Hỏi
Luyện tập các câu hỏi phỏng vấn chuẩn công ty công nghệ với lời giải chi tiết, code ví dụ và phân tích chuyên sâu.
Event Delegation trong JavaScript là gì và cơ chế Event Bubbling vs Capturing hoạt động ra sao?
Giải thích 3 giai đoạn của sự kiện DOM: Capturing Phase, Target Phase, và Bubbling Phase. Kỹ thuật Event Delegation mang lại lợi ích gì về hiệu năng?
Phân biệt sự khác nhau giữa WeakMap / WeakSet với Map / Set trong JavaScript?
Tại sao key của `WeakMap` và giá trị của `WeakSet` bắt buộc phải là Object? Cơ chế Weak References tác động thế nào đến Garbage Collection?
Các nguyên nhân phổ biến gây Rò rỉ bộ nhớ (Memory Leaks) trong ứng dụng JavaScript và cách khắc phục?
Trình bày 4 nguyên nhân kinh điển gây ra Memory Leak trong JavaScript: Biến toàn cục vô ý, quên hủy Timer/EventListener, Detached DOM elements, và Closures.
Kỹ thuật Debounce và Throttle trong JavaScript khác nhau như thế nào và cách triển khai?
Phân biệt mục đích sử dụng của Debounce và Throttle khi xử lý các sự kiện tần suất cao (Search Input, Window Resize, Scroll). Viết hàm `debounce()` bằng JavaScript.
Prototype và Prototypal Inheritance trong JavaScript hoạt động như thế nào?
Giải thích thuộc tính `prototype` và chuỗi `__proto__` (Prototype Chain) trong JavaScript. Trình bày cơ chế thừa kế thuộc tính và phương thức giữa các object.
Core Web Vitals (LCP, INP, CLS) là gì và làm thế nào để tối ưu hóa hiệu năng render trang web?
Định nghĩa 3 chỉ số Core Web Vitals của Google: LCP (Largest Contentful Paint), INP (Interaction to Next Paint) và CLS (Cumulative Layout Shift). Trình bày phương pháp kỹ thuật để cải thiện từng chỉ số.
Closure trong JavaScript hoạt động như thế nào và các trường hợp sử dụng (use cases) phổ biến là gì?
Định nghĩa về Closure trong JavaScript. Cho ví dụ về việc đóng gói dữ liệu (data encapsulation / private state), liên kết lexical environment và kỹ thuật function currying.
Phân biệt sự khác nhau giữa var, let và const về phạm vi truy cập (scoping) và cơ chế hoisting?
So sánh `var`, `let` và `const` trong JavaScript. Trình bày chi tiết về function scope so với block scope, quy tắc khai báo lại (redeclaration) và vùng chết thời gian (Temporal Dead Zone - TDZ).
Event Loop trong JavaScript là gì và nó xử lý các thao tác bất đồng bộ (asynchronous) như thế nào?
Hãy giải thích cơ chế hoạt động của Event Loop, Call Stack, Task Queue (Macrotasks) và Microtask Queue trong JavaScript. Engine V8 xử lý callback của Promises khác gì so với `setTimeout`?