
Câu hỏi phỏng vấn Javascript có làm khó ứng viên nhiều không? Javascript đang dần trở thành một trong nhiều ngôn ngữ lập trình phổ biến nhất thế giới. Để có thể ứng tuyển vào vị trí này, các ứng viên cần phải vượt qua các câu hỏi phỏng vấn Javascript từ những nhà tuyển dụng.
Khái niệm Javascript là gì?
Javascript là ngôn ngữ kịch bản phía máy khách cũng như máy chủ có thể được chèn vào các trang HTML và được trình duyệt web hiểu. Javascript cũng là ngôn ngữ lập trình dựa trên đối tượng hướng tới.
Những kiểu dữ liệu trong Javascript?
Javascript gồm những kiểu dữ liệu là:
- Undefined
- Null
- Boolean
- String
- Symbol
- Number
- Object
Chức năng hàm delete là gì?
Hàm delete loại bỏ một thuộc tính khỏi object, nếu không tồn tại tham chiếu với thuộc tính, nó sẽ tự động giải phóng.
Phân biệt giữa var, let và const?
- const là dùng để khai báo một hằng số - là một giá trị mà nó 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 vào trong block bao quanh nó
- var tạo ra một biến và nó có phạm vi truy cập xuyên suốt function chứa nó.
Strict mode là gì?
Strict mode là quy mẫu nghiêm khắc có trong Javascript. Nếu như việc viết code thường là Normal mode, thì Strict mode sẽ có thêm quy tắc khác so với Normal mode.
This là gì?
“ This” là đề cập đến đối tượng ở nơi nó được gọi. Đây cũng được coi là một trong những câu hỏi phỏng vấn js thường hay xuất hiện nhất trong buổi phỏng vấn.
Khác nhau giữa undefined và null?
- Undefined có nghĩa không xác định. Trong javascript, khi bạn khai báo một biến nhưng chưa gán giá trị cho nó thì phần giá trị của biến đó sẽ là undefined
- Null là một loại object, nó tương tự như các object ‘string’, ‘number’, ...
== và === có gì khác nhau?
“==” kiểm tra bình đẳng về giá trị trong khi “===” lại kiểm tra bình đẳng chặt chẽ hơn và trả về false nếu giá trị hoặc kiểu của hai biến có kết quả khác nhau.
Cách thay đổi style/class của element?
Thường được thực hiện theo cách sau:
- document.getElementById(“myText”).style.fontSize = “20?;
Hoặc
- document.getElementById(“myText”).className = “anyclass”;
Tại sao Math.min() lớn hơn Math.max()?
Khi chạy code Math.max() > Math.min(), giá trị trả về là False, thì nghe có vẻ không hợp lý. Do đó, nếu không có tham số nào được truyền vào, Math.min() trả về Infinity và Math.max() trả về - Infinity. Do đó Math.max() < Math.min().
Closure là gì?
Closure là một biến thể được khai báo cục bộ liên quan đến hàm sẽ nằm trong bộ nhớ khi hàm đã trả về.
Hosting là gì?
Hosting là hành động mặc định của Javascript, nó sẽ chuyển phần tử khai báo lên phía trên top trong của 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ẽ thường 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 là let.
Sự khác nhau giữa hàm Array.splice() và hàm Array.slice()?
Hàm Array.splice() sẽ thay thế một hoặc một số phần tử của mảng bằng một hoặc một số phần tử khác có trong biến. Trong khi đó, hàm Array.slice() sẽ trích xuất một phần tử của mảng, vị trí bắt đầu và kết thúc việc trích xuất sẽ được xác định bởi tham số truyền vào hàm. Lưu ý rằng, hàm sẽ trích xuất không bao gồm phần tử end truyền vào.
Spread Operator là thế nào 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 một trong cách viết ngắn gọn hơn. Cách viết này thường được thể hiện bằng dấu …
Anonymous function trong javascript là gì ?
Anonymous function là một hàm ẩn danh, không có tên gọi, thường được sử dụng khi xử lý các công việc có quy mô nhỏ, vì vậy không cần thiết phải khởi tạo nên định danh cho hàm này. Việc đó, giúp nó có tốc độ xử lý nhanh hơn hàm truyền thống có tên định danh.
Vì sao 0.1 + 0.2 không bằng 0.3 ?
Vấn đề này có 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. Hơn nữa máy tính không thể biểu diễn chính xác số thập phân, nên dẫn đến việc sai số này. Giải pháp ở đây có thể sử dụng thay thế bằng hàm toFixed() để đạt được kết quả đúng nhất.
Window.onload và onDocumentReady khác nhau như thế nào?
Sự kiện Window.onload có ý nghĩa rằng trình duyệt đã load xong mọi thứ ( image, js, css) thì những đoạn code ở trong đó mới được chạy. Với onDocumentReady, mọi thứ trong hàm này sẽ được load ngay khi DOM được load và trước khi toàn bộ nội dung bên ngoài được load.
Kết quả của 1 + 2 + ‘3’ là gì ?
33.1 và 2 là kiểu integer, khi cộng lại có kết quả là 3, sau đó sẽ nối với string ‘3’ để được kết quả là 33.
Promise là gì ?
Promise là 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 mà các hàm callback lồng vào nhau ở quá nhiều tầng. Có 3 trạng thái chính: pending, fulfilled, reject.
Toán tử +, tính chất truthy value chuyển đổi số thế nào
Toán tử + ở đây đã chuyển đổi toán hàng thành một số, true là 1 và false là 0. Bạn nên nắm rõ những câu hỏi này thường nó sẽ xuất hiện nhiều trong các câu hỏi phỏng vấn javascript.
Cách tương tác bằng tham chiếu?
Trong Javascript các object thương tác bằng tham chiếu khi chúng thiết lập bằng nhau.
Sử dụng cơ bản 'use strict' để làm gì?
Sử dụng “use strict” để quản lý nghiêm ngặt về mặt cú pháp của tất cả các dòng code.
Tổng 3 Giai đoạn của event propagation là gì?
Capturing - Target - Bubbling
Các object đều có prototype gì?
Tất cả các object trong Javascript đều sở hữu một prototype và các object này có thể kế thừa một số thuộc tính và phương thức từ prototype của mình.
Những kiểu string, number, boolean đều lần lượt là object dạng String, Boolean và Number.
Kết quả của cộng 1 số với một chuỗi là gì?
Ở đây số sẽ được chuyển thành một chuỗi và thực hiện nối chuỗi nên kết quả sẽ là một chuỗi.
Number ++ và ++ number có sự khác biệt gì?
- Toán tử Number ++ được thêm làm hậu tố có hoạt động như sau:
Đầu tiên nó trả về giá trị
Sau đó mới tăng thêm một đơn vị
- Toán tử ++ Number được thêm làm tiền tố hoạt động như sau:
Đầu tiên nó tăng thêm một đơn vị
Sau đó trả về giá trị
Tác dụng của "use strict" là gì?
Với việc sử dụng “use strict” hay còn gọi là sử dụng nghiêm ngặt, bạn có thể đảm bảo rằng là bạn không vô tình khai báo biến toàn cục.
Eval có tác dụng gì?
Hàm Eval() thường dùng để tính toán một chuỗi trong Javascript. Nó sẽ được nhận vào một chuỗi và biến nó qua phép tính. Chuỗi có thể là biểu thức của Javascript, biến, câu lệnh hay chuỗi câu lệnh.
Dữ liệu lưu trữ sessionStorage bị xóa khi nào?
Khi bạn close tab hoặc close browser thì data thì sẽ bị mất ngay
Cách khai báo nhiều biến cùng tên trong cùng phạm vi?
Với từ khóa var, bạn có thể khai báo nhiều biến cùng tên trong một phạm vi. Biến sẽ được khai báo sau cùng sẽ giữ giá trị mới nhất.
Continue có tác dụng gì?
Câu lệnh continue trong Javascript thường được sử dụng để bỏ qua luồng điều khiển của chương trình và lần lặp hiện tại của vòng lặp đó để chuyển sang lần lặp tiếp theo.
Thuộc tính vào một string hay không?
Hàm call cho phép truyền vào một object và các đối số phân cách nhau bởi dấu
Hàm call và hàm bind có sự khác nhau là gì?
- Hàm call gọi hàm và cho phép bạn truyền vào một object và các đối số phân cách nhau bởi dấu phẩy.
- Hàm bind là trả về một hàm mới, cho phép bạn truyền vào một object và các đối số phân cách nhau bởi dấu phẩy.
Typeof sayHi() là gì?
Hàm sayHi trả về giá trị của hàm được gọi ngay lập tức (IIFE). Hàm trả về 0 là loại ‘ number’.
Kiểu của number sẽ trả về kết quả gì?
Kiểu của ‘number’ sẽ trả về kết quả là ‘string’
Set giá trị vượt quá độ dài của mảng sẽ xảy ra vấn đề gì?
Khi bạn set một giá trị có index vượt quá độ dài của mảng thì Javascript sẽ tạo ra một thứ gọi là ‘ empty’.
Cách hiểu về reduce chưa?
Reduce là một phương thức có sẵn được sử dụng để thực thi một hàm lên cách phần tử của mảng (từ trái sang phải) với một biến tích lũy để thu về một phần giá trị duy nhất. Reduce là một phương thức quan trọng hay được sử dụng trong lập trình hàm.
Phương thức setInterval sẽ trả về cái gì?
Hàm setinterval() lặp lại một khối đoạn mã tại một khoảng thời gian nhất đinh. Hơn nữa, hàm setinterval() sẽ trả về một giá trị là số nguyên dương.
Cách từng ký tự trong chuỗi đơn giản như thế nào?
Mỗi chuỗi là được tạo thành từ các ký tự. Toán tử spread ánh xạ mỗi ký tự thành một phần tử.
Devwork đã cùng bạn tìm hiểu tổng hợp 40 câu hỏi phỏng vấn Javascript thường gặp và cách trả lời chính xác. Chúng tôi hy vọng những thông tin này sẽ hữu ích với bạn. Và nếu bạn đang quan tâm đến lĩnh vực tuyển dụng thì đừng bỏ qua Devwork - Nền tảng tuyển dụng IT kết nối HR Freelancer.

Devwork là Nền tảng TUYỂN DỤNG IT CẤP TỐC với mô hình kết nối Nhà tuyển dụng với mạng lưới hơn 30.000 headhunter tuyển dụng ở khắp mọi nơi.Với hơn 1800 doanh nghiệp IT tin dùng Devwork để :
Tag Cloud:
Tác giả: hieu
Việc làm tại Devwork
Bài viết liên quan

Career Path là gì- Các bước xây dựng Career Path hiệu quả nhất 2025
Career path là gì? Đây không chỉ là câu hỏi của những người mới bắt đầu, mà còn là nỗi trăn trở của nhiều người đã đi làm. Bài viết này Devwork sẽ giúp bạn hiểu rõ về Career Path, đồng thời sẽ chia sẻ các bước để xây dựng Career Path hiệu quả nhé!...
Cách xây dựng thương hiệu cá nhân CHUYÊN NGHIỆP từ A- Z
Xây dựng thương hiệu cá nhân là một hành trình dài hơi, đòi hỏi sự kiên nhẫn, tính kỷ luật và chiến lược rõ ràng. Trong bài viết này, bạn đọc hãy cùng Devwork tìm hiểu về cách xây dựng thương hiệu cá nhân hiệu quả với hướng dẫn cụ thể và chi tiết nhé!

KHÓA HỌC "HEADHUNTER TALENTS - SPEED UP" - MIỄN PHÍ ĐÀO TẠO HEADHUNTER TRONG NGÀNH CNTT
Trong bối cảnh thị trường lao động cạnh tranh gay gắt nói chung và trong lĩnh vực nhân sự nói riêng, việc trở thành một headhunter có chuyên môn vững chưa bao giờ là dễ dàng. Hiểu được điều đó, Devwork đã mở lớp học tuyển dụng chuyên sâu mang tên “Headhunter Talents - Speed up”, nhằm mang đến cho bạn những kiến thức cần thiết để tỏa sáng trong lĩnh vực tuyển dụng.

Làm Thế Nào Để Xây Dựng Đội Ngũ IT Mạnh Mẽ Trong Thời Gian Ngắn?
Xây dựng một đội ngũ IT mạnh mẽ là một trong những yếu tố quan trọng giúp các công ty công nghệ phát triển bền vững và nhanh chóng. Tuy nhiên, với thị trường IT ngày càng cạnh tranh, việc tìm kiếm và tuyển dụng nhân sự chất lượng không phải là điều dễ dàng. Dưới đây là những bước cụ thể giúp bạn xây dựng một đội ngũ IT mạnh mẽ trong thời gian ngắn, đồng thời tối ưu hóa quy trình tuyển dụng hiệu quả thông qua các dịch vụ tuyển dụng chuyên nghiệp.


Dịch vụ tuyển dụng IT cấp tốc - Bí quyết cho doanh nghiệp vừa và nhỏ
Trong thời đại công nghệ phát triển nhanh chóng như hiện nay, các doanh nghiệp vừa và nhỏ (SME) cần phải có đội ngũ nhân sự IT chất lượng để duy trì và phát triển kinh doanh. Tuy nhiên, việc tuyển dụng nhân sự IT phù hợp không phải lúc nào cũng dễ dàng, đặc biệt là khi nhu cầu về các kỹ năng công nghệ ngày càng cao. Trong bài viết này, chúng ta sẽ cùng tìm hiểu về dịch vụ tuyển dụng IT cấp tốc và bí quyết giúp doanh nghiệp vừa và nhỏ tuyển dụng nhanh chóng và hiệu quả.

Top Các Vị Trí IT Được Tuyển Dụng Nhiều Nhất Năm 2025
Ngành công nghệ thông tin (IT) luôn là một trong những lĩnh vực phát triển mạnh mẽ nhất trong thập kỷ qua. Đặc biệt, năm 2024 hứa hẹn sẽ tiếp tục là một năm sôi động đối với thị trường lao động IT khi các công ty không ngừng tìm kiếm những ứng viên chất lượng để đáp ứng nhu cầu số hóa và phát triển công nghệ. Dưới đây là danh sách các vị trí IT được tuyển dụng nhiều nhất trong năm 2024, cùng các kỹ năng cần thiết và cơ hội việc làm mà bạn không nên bỏ qua.
