Page cover

Javascript Interview

Bộ đề ôn tập Javascript từ cơ bản đến nâng cao.

Dưới đây là bộ câu hỏi ôn tập JavaScript từ cơ bản đến nâng cao, phù hợp cho việc luyện thi, phỏng vấn hoặc củng cố kiến thức. Mỗi phần gồm nhiều câu hỏi, chia theo cấp độ:


🟢 Phần 1: JavaScript Cơ Bản

  1. JavaScript là gì? Khác gì so với Java?

  2. Các kiểu dữ liệu nguyên thủy (primitive types) trong JavaScript là gì?

  3. Sự khác biệt giữa var, letconst là gì?

  4. Giải thích khái niệm hoisting trong JavaScript.

  5. Giải thích sự khác nhau giữa ===== trong JavaScript.

  6. Làm thế nào để kiểm tra một biến có phải là undefined?

  7. nullundefined khác nhau như thế nào?

  8. Các cách khai báo hàm trong JavaScript? (Function declaration vs expression)

  9. Arrow function là gì? Khác gì so với regular function?

  10. Toán tử typeofinstanceof dùng để làm gì?


🟡 Phần 2: Kiến thức Trung Bình – Cấu trúc và Xử lý

  1. Các loại vòng lặp trong JavaScript (for, while, do...while)?

  2. Khác biệt giữa for...infor...of?

  3. Callback là gì? Khi nào nên dùng?

  4. Promise là gì? So sánh callback và Promise.

  5. Giải thích async/await trong JavaScript.

  6. Closure là gì? Lấy ví dụ.

  7. Scope và Lexical Scope là gì?

  8. IIFE là gì? Dùng để làm gì?

  9. Giải thích nguyên lý hoạt động của this trong các ngữ cảnh khác nhau.

  10. Sự khác biệt giữa function thông thường và arrow function khi dùng this?


🔵 Phần 3: Kiến thức Nâng Cao – ES6+ và Tối ưu

  1. Destructuring là gì? Lấy ví dụ với object và array.

  2. Spread và Rest operator khác nhau như thế nào?

  3. Giải thích template literals (template strings) và cách sử dụng.

  4. Các kiểu import/export trong JavaScript module là gì?

  5. Set và Map là gì? Khác biệt so với Array/Object?

  6. Optional chaining và nullish coalescing (?., ??) là gì?

  7. Event loop và call stack trong JavaScript là gì?

  8. Debounce và Throttle khác nhau như thế nào? Viết ví dụ đơn giản.

  9. Deep clone và shallow clone là gì? Cách để clone object trong JS?

  10. Memory leak là gì? Làm sao để tránh trong JavaScript?


🟣 Phần 4: DOM và Event Handling

  1. DOM là gì? Các cách truy cập DOM?

  2. Event bubbling và event capturing là gì?

  3. addEventListener vs onclick: sự khác biệt?

  4. preventDefault() và stopPropagation() có tác dụng gì?

  5. Các bước cơ bản để thao tác với DOM (thêm, xoá, sửa node)?

  6. Làm sao để xử lý sự kiện khi thêm DOM động (event delegation)?


🔴 Phần 5: JavaScript trong Thực tế (Browser & Optimization)

  1. LocalStorage, SessionStorage và Cookies khác nhau như thế nào?

  2. AJAX là gì? So sánh với Fetch API.

  3. CORS là gì? Khi nào gặp lỗi CORS?

  4. Service Worker là gì? Ứng dụng trong PWA?

  5. Các kỹ thuật tối ưu hiệu suất JS trên trình duyệt (lazy loading, code splitting)?

  6. Làm sao để debug hiệu quả trong JavaScript?

  7. Làm sao để bảo vệ mã JavaScript khỏi bị xem source?


🧠 Phần 6: Phỏng vấn Tình Huống & Logic

  1. Viết hàm đảo ngược chuỗi mà không dùng hàm có sẵn.

  2. Viết hàm kiểm tra chuỗi có phải palindrome hay không.

  3. Viết debounce function đơn giản.

  4. Tính tổng các số trong mảng bất kỳ (dùng reduce).

  5. Sắp xếp mảng object theo name tăng dần (custom sort).

  6. Viết hàm clone sâu (deep clone) một object lồng nhau.

  7. Giải thích cách hoạt động của JavaScript khi thực hiện Promise.all()


Last updated