JavaScript là một trong những ngôn ngữ lập trình phổ biến nhất thế giới. Đối với những lập trình viên muốn ứng tuyển vào vị trí này, việc vượt qua các câu hỏi phỏng vấn JavaScript là điều không thể thiếu. Bài viết này sẽ giúp bạn hiểu rõ hơn về 20 câu hỏi phỏng vấn JavaScript thường gặp nhất.
Contents
- 1 Nếu cách phân biệt Java và JavaScript
- 2 Các kiểu dữ liệu cơ bản của JavaScript là gì?
- 3 Bạn hiểu hàm isNaN trong JavaScript là gì?
- 4 Bạn hiểu thế nào về việc sử dụng trình gỡ lỗi trong JavaScript?
- 5 Câu hỏi phỏng vấn javascript – Bạn hiểu hàm constructor là gì?
- 6 Hãy phân biệt hai hàm document.ready và body.onload
- 7 Câu hỏi phỏng vấn javascript – Trong JavaScript thì This có chức năng gì?
- 8 Câu hỏi phỏng vấn javascript – Bạn hiểu hàm anonymous là gì và nó được sử dụng khi nào?
- 9 Hãy nêu sự khác nhau giữa Null và Undefined trong JS
- 10 Câu hỏi phỏng vấn vị trí javascript – Hãy nêu sự khác nhau giữa Var và Let?
- 11 Câu hỏi phỏng vấn javascript – Bạn hiểu Closure trong JS là gì?
- 12 Chỉ ra điểm khác nhau giữa == và === trong JS
- 13 0,1 + 0,2 === 0,3? Điều này đúng hay sai?
- 14 Câu hỏi phỏng vấn javascript – NaN === NaN? Đúng hay sai?
Nếu cách phân biệt Java và JavaScript
Java và JavaScript là hai ngôn ngữ khác nhau. Java là một ngôn ngữ lập trình hướng đối tượng, trong khi JavaScript là một ngôn ngữ kịch bản. Java được sử dụng để phát triển các ứng dụng chạy trên máy ảo, hệ điều hành hoặc bên trong trình duyệt. Ngược lại, JavaScript có thể được sử dụng để xây dựng các ứng dụng cho máy tính thông qua việc sử dụng Electron và Node.js.
Các kiểu dữ liệu cơ bản của JavaScript là gì?
JavaScript có 7 kiểu dữ liệu cơ bản, đó là:
- Boolean: chỉ có hai giá trị là true và false.
- Null: biểu thị giá trị null hoặc không tồn tại.
- Undefined: biểu thị một biến không được gán giá trị.
- Number: biểu diễn số, bao gồm cả số nguyên và số thập phân.
- BigInt: biểu diễn các số nguyên lớn.
- String: biểu diễn chuỗi ký tự.
- Symbol: biểu diễn các giá trị không thay đổi và duy nhất.
Bạn hiểu hàm isNaN trong JavaScript là gì?
Hàm isNaN được sử dụng để kiểm tra xem giá trị truyền vào có phải là số hợp lệ hay không. Nếu giá trị truyền vào là NaN (Not-a-Number), thì hàm trả về true, ngược lại là false. Hàm này chuyển các tham số truyền vào thành số và sau đó kiểm tra.
Bạn hiểu thế nào về việc sử dụng trình gỡ lỗi trong JavaScript?
Trình duyệt phổ biến như Google Chrome, Firefox, Safari đều tích hợp trình gỡ lỗi. Bạn có thể gọi trình gỡ lỗi bằng cách nhấn phím F12 và chọn tab Console để hiển thị kết quả. Tại đây, bạn có thể xem giá trị của các biến hoặc đặt các điểm ngắt.
Trong JavaScript, cũng có các từ khóa để gỡ lỗi. Bạn có thể sao chép chức năng này bằng trình gỡ lỗi. Tuy nhiên, điều này chỉ hoạt động khi tùy chọn gỡ lỗi được kích hoạt trong cài đặt của trình duyệt web.
Câu hỏi phỏng vấn javascript – Bạn hiểu hàm constructor là gì?
Hàm constructor trong JavaScript được sử dụng để định nghĩa các thuộc tính và phương thức ban đầu cho đối tượng được tạo ra bằng từ khóa new. Một điểm cần lưu ý là trong các hàm constructor, “this” không tham chiếu đến đối tượng bên ngoài mà được sử dụng làm đối tượng để giữ chỗ.
Hãy phân biệt hai hàm document.ready và body.onload
Hàm document.ready được gọi khi DOM đã được tải hoàn toàn, không cần chờ tất cả các resources tải xong. Trong khi đó, hàm body.onload được gọi khi cả DOM và các resources đi kèm đã được tải hoàn toàn. Hàm body.onload chỉ gọi một lần duy nhất trong khi có thể có nhiều hàm document.ready.
Câu hỏi phỏng vấn javascript – Trong JavaScript thì This có chức năng gì?
“This” được sử dụng để tham chiếu đến đối tượng mà nó thuộc về. Đối tượng “this” có giá trị khác nhau tùy vào cách sử dụng của nó. Trong một phương thức, “this” sẽ tham chiếu đến đối tượng chủ. Trong một hàm, “this” tham chiếu đến đối tượng toàn cục như global object hoặc window (trong web).
Câu hỏi phỏng vấn javascript – Bạn hiểu hàm anonymous là gì và nó được sử dụng khi nào?
Hàm anonymous, hay còn gọi là hàm ẩn danh, là một hàm được tạo ra ngay lúc chương trình khởi chạy. Bạn không cần khai báo hàm, chỉ cần sử dụng nó khi cần thiết. Một ứng dụng phổ biến của hàm anonymous là khi bạn muốn truyền một hàm làm đối số cho một hàm khác.
Hãy nêu sự khác nhau giữa Null và Undefined trong JS
Null được sử dụng để biểu diễn giá trị null hoặc không tồn tại. Khi bạn khai báo một biến nhưng không gán giá trị cho nó, biến đó sẽ được gán giá trị là Undefined. Null là một loại đối tượng, tương tự như string hoặc number.
Câu hỏi phỏng vấn vị trí javascript – Hãy nêu sự khác nhau giữa Var và Let?
Var và Let được sử dụng để khai báo biến trong JavaScript, nhưng có phạm vi sử dụng khác nhau. Var có phạm vi là function-scoped, trong khi Let có phạm vi là block-scoped. Điều này có nghĩa là biến khai báo bằng Var có phạm vi hoạt động trong toàn bộ hàm mà nó được khai báo, trong khi biến khai báo bằng Let chỉ có phạm vi hoạt động trong cặp dấu ngoặc nhọn {}.
Câu hỏi phỏng vấn javascript – Bạn hiểu Closure trong JS là gì?
Closure trong JavaScript là một hàm có khả năng truy cập đến các biến bên ngoài phạm vi của nó. Nó cho phép người dùng truy cập đến các biến hoặc tham số ngoài phạm vi của hàm. Để sử dụng Closure, bạn chỉ cần khai báo một hàm nằm trong một hàm khác và return nó ra bên ngoài.
Chỉ ra điểm khác nhau giữa == và === trong JS
Toán tử “==” được sử dụng để so sánh giá trị của hai biến, trong khi toán tử “===” được sử dụng để so sánh giá trị và kiểu dữ liệu của hai biến.
0,1 + 0,2 === 0,3? Điều này đúng hay sai?
Điều này là sai. Đây là vấn đề liên quan đến hoạt động của dấu phẩy động trong ngôn ngữ lập trình, bao gồm JavaScript. Cách để kiểm tra tính bằng nhau là sử dụng Math.abs(0,3 – (0,2 + 0,1)) <= EPS, trong đó EPS là một giá trị rất nhỏ, ví dụ như 0,00001.
Câu hỏi phỏng vấn javascript – NaN === NaN? Đúng hay sai?
Điều này là sai. Đây là một trong những câu hỏi gây tranh cãi nhất trong JavaScript. NaN là một giá trị không phải là số, nên hai giá trị NaN không được coi là bằng nhau. Để kiểm tra xem một biến có phải là NaN, bạn có thể sử dụng hàm Number.isNaN hoặc kiểm tra myVariable !== myVariable.
Trên đây là 20 câu hỏi phỏng vấn JavaScript thường gặp nhất. Hy vọng rằng những kiến thức này sẽ giúp bạn chuẩn bị tốt cho cuộc phỏng vấn và đạt thành công trong sự nghiệp lập trình của mình.