Trang chủ » Blog » Top câu phỏng vấn Javascript từ dễ đến khó có đáp án

Top câu phỏng vấn Javascript từ dễ đến khó có đáp án

bởi CodeGym | 26/12/2023 11:51 | Blog

Buổi phỏng vấn quyết định tới 80% kết quả đậu/trượt của ứng viên. Trong buổi phỏng vấn Javascript, nhà tuyển dụng ngoài việc quan tâm đến thái độ của ứng viên thì trình độ chuyên môn vẫn là yếu tố được đặt lên hàng đầu. Bài viết sau, CodeGym sẽ tổng hợp bộ câu hỏi lập trình viên Javascript thường gặp trong các buổi phỏng vấn liên quan đến chuyên môn. 

Top câu hỏi phỏng vấn Javascript trình độ cơ bản (basic)

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

  • Undefined mang ý nghĩa là không xác định. Trong javascript, khi tôi khai báo một biến nhưng chưa gán giá trị cho nó thì giá trị của biến đó sẽ là undefined.
  • Null là một loại object, nó được ví tương tự như các loại object khác như ‘string’, ‘number’,…

Khác nhau giữa 2 hàm document.ready và body.onload?

Body.onload chỉ được gọi trong trường hợp DOM và các resources kèm theo như images được load xong. Còn document.ready được gọi khi DOM được load xong.

Có thể có nhiều document.ready nhưng chỉ có 1 body.onload.

=>>> XEM NGAY khoá học Bootcamp Javascirpt siêu cấp tại CodeGym

Top câu hỏi phỏng vấn Javascript trình độ cơ bản

Top câu hỏi phỏng vấn Javascript trình độ cơ bản

Cho biết output của 2 dòng lệnh Console.log(1<2<3) và Console.log(3>2>1)

  • Console.log(1<2<3) có output là true
  • Console.log(3>2>1) có output là false

Sự khác nhau giữa call và apply?

Trong javascript, mọi thứ đều là object. Number, string hay function đều là object, và .call và .apply là các method của object Function.

  • call và apply thường được dùng để assign từ khóa ‘this’ trong function đó to 1 object khác.
  • Điểm khác nhau giữa call và apply nằm ở tham số truyền vào: Call: _function.call(object, “arg one”, “arg two”,..). Apply: _function.apply(object, [“arg one”, “arg two”,…])
Câu hỏi: Sự khác nhau giữa call và apply

Câu hỏi: Sự khác nhau giữa call và apply

Hàm anonymous là gì và khi nào nên sử dụng nó?

Anonymous functions là hàm ẩn danh, hàm này được sinh ra đúng vào thời điểm chạy của chương trình.

Khi khai báo một hàm thì trình biên dịch sẽ lưu lại trong bộ nhớ nên hàm có thể gọi ở trên hay dưới vị trí khai báo hàm đều được, tuy nhiên với anonymous functions thì nó sẽ được sinh ra khi trình biên dịch xử lý tới vị trí của nó.

=>>> Xem thêm bài viết: Bộ câu hỏi phỏng vấn Data Analyst đầy đủ

Scope của 1 biến trong javascript là gì? Có bao nhiêu loại scope?

Scope của 1 biến là phạm vi trong chương trình của lập trình viên mà biến đó được định nghĩa.

Trong javascript có 3 loại scope:

  • Global scope: Loại scope này có phạm vị hoạt động ở bất kỳ trong mã javascript.
  • Function scope: Có phạm vi hoạt động trong function khi tôi khai báo biến đó.
  • Block scope: Có phạm vị trong cặp dấu {} mà những người lập trình khai báo biến đó. (ES6)

Điểm khác nhau giữa GET và POST?

GET:

  • Có thể bị cache.
  • Nằm trong history của browser.
  • Có thể bị bookmarked
  • Dữ liệu truyền đi sẽ hiện trên url và chúng bị giới hạn (độ dài tối đa của URL là 2048).
  • Hạn chế về loại dữ liệu: chỉ có ký tự ASCII được cho phép

POST:

  • Dùng để submit data tới servers.
  • Không bị cache
  • Không nằm trong history của browser.
  • Không bị bookmarked
  • Dữ liệu truyền đi được nằm trong body của request.
  • Không bị giới hạn về dữ liệu truyền đi.
  • Không giới hạn về loại dữ liệu truyền đi.

Top câu hỏi phỏng vấn Javascript từ trung bình đến nâng cao

Khác nhau giữa so sánh “==” và “===”?

“==” so sánh giá trị.

“===” so sánh giá trị cũng như kiểu dữ liệu.

Theo kinh nghiệm làm lập trình viên lâu năm, tôi cho rằng không nên sử dụng toán tử ==, chỉ nên dùng trong trường hợp so sánh với null hoặc undefined, trong đó a == null sẽ trả về true nếu a là null hoặc undefined.

Top câu hỏi phỏng vấn Javascript từ trung bình đến nâng cao

Top câu hỏi phỏng vấn Javascript từ trung bình đến nâng cao

Kể tên các loại dữ liệu tích hợp sẵn trong Javascript?

  • string
  • number
  • boolean
  • null và undefined
  • object
  • symbol (từ ES6)

Giải thích chính sách same-origin trong JavaScript?

Chính sách same-origin (Same orgin policy) ngăn JavaScript thực hiện các request trên các domain khác nhau. Một origin là sự kết hợp của URI scheme, hostname và port number.

Chính sách này ngăn tập lệnh độc hại trên một trang có quyền truy cập vào dữ liệu nhạy cảm trên trang web khác thông qua DOM (Document Object Model) của trang đó.

Để lặp qua các thuộc tính của các items của mảng và đối tượng, bạn sử dụng câu lệnh nào?

Đối với các đối tượng:

  • for – for
  • Object.keys()
  • Object.getOwnPropertyNames()

Đối với mảng:

  • for – for
  • forEach – arr.forEach (function (el, index) {…})

Hầu hết thời gian, tôi thích phương thức .forEach hơn tuy nhiên sẽ phụ thuộc vào những điều tôi thực hiện. 

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

Các dữ liệu được lưu trữ ở sessionStorage sẽ bị xóa sau khi người dùng đóng tab.

Vì vậy, khi sử dụng localStorage, dữ liệu sẽ ở đó mãi mãi, trừ khi localStorage.clear() được gọi.

Javascript global execution context có thể tạo ra 2 thứ: global object và từ khóa “this” được không?

Đáp án là được. Về cơ bản thì bối cảnh thực thi toàn cầu (Global execution context) giúp lập trình viên có thể truy cập ở mọi nơi trong code.

Nhìn chung, các câu hỏi phỏng vấn Javascript tập trung vào kỹ năng chuyên môn của ứng viên. Chính vì vậy, bạn cần chuẩn bị cho mình kiến thức, kỹ năng tốt để tự tin trước mắt nhà tuyển dụng. Đừng quên tham gia các khóa học Javascript thực chiến tại CodeGym để tự tin trả lời 100% các câu hỏi từ nhà tuyển dụng. 

Các khóa học Javascript hướng người học tới các kiến thức, kỹ năng cần thiết mà hầu hết các nhà tuyển dụng đang cần. Vì vậy, sau khi kết thúc khóa học chỉ 5-6 tháng, bạn đủ kiến thức và yêu cầu mà nhà tuyển dụng đang mong muốn. Phương pháp học thực chiến, tập chung cao độ sẽ “tôi luyện” bạn trở thành lập trình viên chuyên nghiệp. 

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

15 + 8 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM