Thumbnail
Category: Lập trình

Câu hỏi phỏng vấn javascript

Date: June 17, 2023
13 views

Phân biệt var, let và const?

const dùng để khai báo một hằng số – là một giá trị không thay đổi được trong suốt quá trình chạy.

let tạo ra một biến chỉ có thể truy cập được trong block bao quanh nó

var – tạo ra một biến có phạm vi truy cập xuyên suốt function chứa nó.

 

Strict mode trong javascript là gì?

Strict Mode là một quy mẫu nghiêm khắc trong Javascript. Nếu như việc viết code bình thường là Normal mode, thì Strict Mode sẽ có thêm các quy định khác so với Normal mode.

Ví dụ: một biến chưa khởi tạo mà gọi nó thì sẽ báo lỗi.


'use strict';
a = 5;


 

this trong javascript là gì?

Từ khóa this dùng để chỉ đối tượng từ nơi nó được gọi.

This ở ngữ cảnh khác nhau sẽ khác nhau.

 

Khác nhau giữa undefined và null trong javascript?

Khi tạo ra một biến mà không gán giá trị thì nó sẽ là undefined. Còn null là một object

 

Closure trong javascript là gì?

Closure là một hàm bên trong, truy cập đến các giá trị bên ngoài phạm vi của nó. 

 

Hosting trong javascript là gì?

Hoisting là hành động mặc định của Javascript, nó sẽ chuyển phần khai báo lên phía trên top Trong Javascript, một biến (variable) có thể được khai báo sau khi được sử dụng.

 

Phân biệt giữa Function Declaration và Function Expression

Function declaration sẽ sử dụng từ khóa function rồi đến tên hàm. Còn Function expression sẽ được bắt đầu với từ khóa var, const, hoặc let (hàm gán cho một biến).

 

Spread Operator trong javascript ?

Spread operator là một biểu thức mở rộng giúp gộp các phần tử vào trong một cách viết ngắn gọn hơn. Cách viết này được thể hiện bằng dấu ...

 

Anonymous function là gì ?

Là một hàm ẩn danh, không có tên gọi

 

Tại sao 0.1 + 0.2 không bằng 0.3 ?

Vấn đề này liên quan đến việc Javascript lưu trữ dữ liệu float ở dạng nhị phân chính xác tới từng con số sau dấu phẩy, không thể biểu diễn chính xác số thập phân, nên gây ra sai số kiểu này. 

 

Promise trong javascript là gì ?

Promise là một cơ chế trong JavaScript giúp bạn thực thi các tác vụ bất đồng bộ mà không rơi vào callback hell hay pyramid of doom, là tình trạng các hàm callback lồng vào nhau ở quá nhiều tầng. Có 3 trạng thái: pendingfulfilledreject.

 

Câu hỏi 1: Hoisting trong Javascript xảy ra như thế nào?

Trước tiên bạn thử đoán kết quả của chương trình Javacript sau đây là gì?

function sayHi() {
  console.log(name);
  console.log(age);
  var name = "Lydia";
  let age = 21;
}

sayHi();
  • A: Lydia and undefined
  • B: Lydia and ReferenceError
  • C: ReferenceError and 21
  • D: undefined and ReferenceError

 

Đáp án: D

Bên trong Function này, trước tiên chúng ta khai báo biến name bằng từ khóa var. Điều này có nghĩa là hoisting đã xảy ra (không gian bộ nhớ được thiết lập trong giai đoạn tạo, nhưng chưa thực hiện phép gán giá trị) với giá trị mặc định là undefined, tiếp sau đó chúng ta mới thực sự định nghĩa biến name.

Trước khi cố gắng log biến name thì chúng ta chưa hề định nghĩa biến name nào, vì hoisting xảy ra và biến name giữ giá trị là undefined.

Các biến với từ khóa let (và const) cũng được hoisting, nhưng không giống như từ khóa var, chúng không thể truy cập trước khi chúng thực sự được khởi tạo.

Đây được gọi là “Vùng chết tạm thời”. Do đó, khi cố gắng truy cập các biến này trước khi được khai báo. Javascript sẽ ném ra ReferenceError.

3 Giai đoạn của event propagation là gì?

Capturing > Target > Bubbling

 

Dữ liệu được lưu trữ trong sessionStorage bị xóa khi nào?

Khi người dùng đóng tab.

 

Sự khác nhau của hàm call và hàm bind là gì?

Chúng ta có đoạn code sau:

const person = { name: "Lydia" };

function sayHi(age) {
  console.log(`${this.name} is ${age}`);
}

sayHi.call(person, 21);
sayHi.bind(person, 21);


Bạn chọn đáp án nào?

  • A: undefined is 21 Lydia is 21
  • B: function function
  • C: Lydia is 21 Lydia is 21
  • D: Lydia is 21 function

Bạn đã hiểu về reduce chưa?

Reduce nối mảng phía sau mảng đã có.

 

Trong JavaScript thì This có chức năng gì?

 

Hãy nêu sự khác nhau giữa Null và Undefined trong JS

Undefined được hiểu là không xác định. Khi khai báo một biến nhưng không gán cho nó giá trị thì biến đó sẽ được gán giá trị là Undefined.

Còn Null là một loại Object, nó tương tự như string, number,…

 

Bạn hiểu Closure trong JS là gì?

Closure trong JS là một hàm tham chiếu đến các biến nằm ngoài phạm vi của hàm đó. 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. 

 

Trên ổ đĩa Cookies được lưu ở đâu?

Vị trí lưu các tập tin Cookies sẽ phụ thuộc vào trình duyệt và hệ điều hành đang sử dụng.

Đối với trình duyệt Netscape trên Windows, các cookies sẽ được lưu trong tệp cookies.txt theo đường dẫn C:\Program Files\ Netscape\Users\username\cookies.txt.

Con trên Internet Explorer, ác cookies được lưu trữ trong tập tin username@website.txt theo đường dẫn C:\Windows\Cookies\username@Website.txt.

 

Bạn hiểu thế nào là lập trình bất đồng bộ trong JS?



Copyright © 2025 All Right Reserved