• .
adsads
Screen Shot 2023 07 22 at 02.29.21
Lượt Xem 1 K

Bạn là một lập trình viên ngôn ngữ Javascript và đang trên hành trình chinh phục ước mơ của mình với một công việc yêu thích cùng mức thu nhập hấp dẫn. Để có sự chuẩn bị tốt nhất cho mình trong vòng phỏng vấn tuyển chọn. Hãy bỏ túi ngay bộ câu hỏi phỏng vấn javascript sau đây để có thêm hành trang tốt nhất giúp bạn tự tin và bình tĩnh hơn cho buổi phỏng vấn tới, cho hành trình chinh phục công việc mơ ước của bạn suôn sẻ hơn. 

I. Tuyển tập bộ câu hỏi phỏng vấn javascript

  1. Javascript là gì? 

Đây là câu hỏi phỏng vấn về Javascript thường gặp và cơ bản nhất về khái niệm ngôn ngữ lập trình mà bạn sẽ sử dụng. 

Trả lời: Javascript là ngôn ngữ lập trình được các nhà phát triển sử dụng có thể tạo ra web tương tác từ việc làm mới bảng tin trên mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác. Những chức năng của Javascript có khả năng giúp cải thiện trải nghiệm người dùng của trang web. Đây là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web. 

Ví dụ: Khi duyệt internet, khi nào bạn thấy những quảng cáo xoay vòng với hình thức là hình ảnh, menu thả xuống nhấp để hiển thị hoặc màu sắc phần tử thay đổi động trên trang web, đấy chính là lúc bạn thấy những hiệu ứng từ Javascript.

  1. Những kiểu dữ liệu trong Javascript?

Trả lời: Trong Javascript có 6 kiểu dữ liệu cơ bản sau: 

  • Number
  • Boolean
  • String
  • Null
  • Undefined
  • Object

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

  1. Nói rõ về phép so sánh có trong JavaScript?

Với câu hỏi phỏng vấn javascript này, bạn hãy giải thích bằng các phép so sánh bằng và phép so sánh hơn kém. 

Trả lời: 

1 Phép so sánh bằng 

Phép so sánh bằng === (!=)  trong javascript sẽ tuân theo quy tắc: 

  • Nếu 2 vế so sánh khác kiểu dữ liệu thì kết quả là false
  • Nếu hai vế đều là kiểu Number và nếu 1 trong 2 là “NaN” thì kết quả trả về sẽ là False. Nếu không sẽ phải so sánh giá trị.
  • Khi hai vế so sánh đều là kiểu “String” thì cần so sánh về nội dung, nếu nội dung giống nhau thì sẽ ra kết quả là true, nội dung khác là false. 
  • Khi 2 vế là kiểu Boolean, thì nếu cùng True hoặc cùng False thì kết quả sẽ là true, còn lại kết quả sẽ ra false.
  • Nếu khi 2 vế đều là kiểu đặc biệt Undefined, Null thì là true, còn lại là false. 

Phép so sánh ==(!=) cũng tuân theo các quy luật như sau:

  • Nếu 2 vế có cùng kiểu dữ liệu quy chúng về kiểu so sánh = = =. 
  • Nếu 2 vế khác dữ liệu thì: 
    • Nếu 1 trong 2 vế là Number, vế còn lại là kiểu String thì cần convert String sang kiểu Number để so sánh.
    • Nếu 1 trong 2 vế là Number nhưng vế còn lại là Boolean thì cần Boolean sang Number và so sánh. 
    • Nếu 1 trong 2 vế là String, vế còn lại là Boolean thì phải chuyển cả 2 vế sang Number để so sánh.
    • Nếu 1 trong 2 vế là String, vế còn lại là Object tham chiếu thì phải chuyển Object tham chiếu sang String để so sánh.
    • Nếu 1 trong 2 vế là Number, vế còn lại là Object tham chiếu thì chuyển Object tham chiếu sang Number để so sánh.
    • Nếu cả 2 vế đều là Null hoặc Undefined (tính cả trường hợp một vế null, vế kia là undefined) thì là true. 
  1. Phép so sánh hơn

Phép so sánh hơn kém bao gồm >, <, >=, <= và tuân theo các quy tắc sau:

  • Trường hợp: cả 2 vế cùng kiểu
  • Cả 2 vế cùng kiểu Number thì so sánh theo giá trị.
  • Cả 2 vế đều cùng kiểu String thì sẽ so sánh theo thứ tự UniCode.
  • Trường hợp: Cả 2 vế khác kiểu 
  • Nếu 1 trong 2 vế kiểu Number chuyển vế còn lại về kiểu Number và so sánh giá trị, Nếu 1 trong 2 là kiểu NaN thì kết quả là false.
  • Nếu 1 trong 2 vế là kiểu String thì vế còn lại sẽ chuyển về kiểu String và thực hiện so sánh theo Unicode. 
  • Nếu một trong hai vế là kiểu Number, vế còn lại là kiểu String thì sẽ chuyển kiểu String về kiểu Number và so sánh theo giá trị số. 
  • Nếu 1 trong 2 vế không thể chuyển về kiểu Number/String hoặc khi chuyển thì có giá trị NaN thì kết quả là false.  
  1. Nói rõ mục đích của toán tử &&?

Trả lời: Mục đích của toán tử chính là tìm giá trị đầu tiên trong biểu thức và trả về giá trị đó cho người dùng. 

  1. Sự khác biệt giữa undefined và null là gì? 

Trả lời: Undefined có nghĩa là một biến đã được khai báo nhưng chưa được gán giá trị, còn Null là được gán cho một biến.

  1. Cho biết this trong javascript là gì?

Trả lời: This trong javascript là từ khóa đại diện cho một đối tượng trong javascript. Đây là đối tượng đang được code JS thực thi ở thời điểm hiện tại. 

  1. Thay đổi style/class của element?

Trả lời: Sử dụng thuộc tính document trong javascript có thể sử dụng với id, class hay bất cứ element nào. 

  1. Giải thích Closure trong javascript là gì?

Trả lời: Closure trong javascript chính là tập hợp bao gồm hàm và môi trường nơi hàm số được khai báo. Ở đây, môi trường này sẽ bao gồm tất những biến cục bộ phận trong phạm vi hàm số được khai báo. 

  1. Cho biết Hosting trong javascript là gì?

Trả lời: Hosting chính là cơ chế mặc định của JavaScript để có thể di chuyển tất cả những biến và ham khi khai báo lên đầu scope trước khi chúng được thực thi. Lưu ý đối với cơ chế này chỉ di chuyển khai báo, việc gán giá trị thì giữ nguyên. 

  1. Spread Operator trong javascript ?

Trả lời: Spread Operator là một biểu thức mở rộng giúp các phần tử qua cách viết ngắn gọn hơn. Nó được sử dụng giúp thao tác với mảng như thêm phần tử, kết hợp mảng và tham số mảng vào function. 

  1. Promise trong javascript là gì?

Trả lời: Promise là một cơ chế quan trọng trong javascript giúp bạn có thể 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.

Promise có thể ở một trong ba trạng thái: 

  • Pending (đang chờ xử lý): là trạng thái ban đầu của promise.
  • Fulfilled (hoàn thành): được cập nhật khi promise được thực hiện thành công.
  • Rejected (bị từ chối): khi promise đã bị từ chối, và báo có lỗi.

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

  1. Toán tử && để làm gì?

Trả lời: Toán tử trong JavaScript với ký hiệu là && sẽ có giá trị True nếu cả hai hạng true, ngược lại trả về False.

  1. Hãy cho biết Toán tử || dùng để làm gì trong JavaScript? 

Trả lời: Toán tử || sẽ trả về True nếu 1 trong 2 số hạng là True : a || b. 

  1. Nêu ưu điểm và nhược điểm của việc sử dụng Promises

Trả lời: 

Ưu điểm của việc sử dụng Promises là: 

  • Không giống với những lệnh gọi lại, Promises có thể thể tránh được những địa chỉ gọi lại.
  • Nếu nhiều phản hồi gửi về, bạn có thể dễ dàng thực thi mã với Promises.all.
  • Bằng sự trợ giúp từ Promise.race, bạn có thể đợi kết quả từ Promises đồng thời đang chờ xử lý. 
  • Có thể đồng bộ các mã viết không đồng bộ nếu như kết hợp Promises và async/await.

Nhược điểm của việc sử dụng Promises là: 

  • Promises chỉ có thể hoạt động trên một giá trị duy nhất/ thời điểm. 
  • Không có sẵn ở các trình duyệt cũ.
  • Chậm hơn so với việc dùng câu lệnh gọi lại và có thể gây ảnh hưởng đến hiệu suất.
  1. Điều gì xảy ra nếu bạn xác định một biến mà không có từ khóa?

Trả lời: Về mặt kỹ thuật, nếu xác định một biến mà không có từ khoá sẽ gây rò rỉ bộ nhớ.

  1. Cho biết vòng lặp sử dụng var hoặc let trong Javascript có gì khác nhau?

Trả lời: Biến var có thể cập nhật và khai báo trong phạm vi tồn tại, còn biết let được cập nhật nhưng lại không thể khai báo. 

  1. Khái niệm Falsy value và Truthy value?

Trả lời: 

– Falsy value trong JavaScript được hiểu là những giá trị mà khi chuyển đổi thành Boolean thì kết quả sẽ có giá trị là false. Những giá trị này sẽ gồm có: undefined , null , NaN , 0 , -0 , 0n , “” (Empty string value), false,… 

– Truthy value trong JavaScript chính là những giá trị mà khi ép kiểu về Boolean thì sẽ cho ra giá trị là true. 

  1. Cho biết khái niệm của IIFEs là gì?

Trả lời: IIFEs chính là viết tắt của cụm đầy đủ Immediately Invoked Function Expression, có ý nghĩa là khởi tạo một function và thực thi nó ngay lập tức.

  1. Phân biệt điểm khác nhau của Anonymous và Named Functions?

Trả lời: 

– Anonymous function còn được biết đến là hàm ẩn danh, là một hàm không có tên và được tạo ra trong thời gian ứng dụng đang chạy. 

– Named function còn gọi là hàm được đặt tên, nó được sử dụng để gỡ lỗi và tìm kiếm những hàm gây ra lỗi.

  1. Các giai đoạn của lan truyền sự kiện như thế nào?

Trả lời: Ba giai đoạn của sự lan truyền sự kiện lần lượt là: propagation, capturing, bubbling.  Đầu tiên, propagation (lan truyền) xảy ra với việc capturing trước. Trong giai đoạn capturing thì các sự kiện truyền từ Window qua DOM tree cho đến khi nó đến đích. Sau đó, phần tử mục tiêu được truy cập, giai đoạn bubbling xảy ra.

  1. Hãy cho biết Hoisting là gì?

Trả lời: Hoisting là việc JavaScript di chuyển khai báo lên đầu mọi phạm vi. Đây được hiểu là một khía cạnh không xác định của JavaScript. Để tránh tạo ra lỗi, chúng ta nên khai báo tất cả các biến ở đầu mọi scope. Hoisting chỉ đơn giản được hiểu là việc sử dụng một biến trước khi nó được khai báo.

  1. Sự khác nhau giữa Function Expression và Function Declaration?

Trả lời:

– Function declaration được biết đến là khai báo hàm, thường sử dụng từ khóa function, tên của hàm sẽ theo sau.

– Function Expression còn được gọi là biểu thức hàm, bắt đầu bằng var, const hoặc let, theo sau là tên của hàm và toán tử gán =.

  1. Promise có thể ở trạng thái nào? 

Trả lời: Promise có thể ở một trong ba trạng thái chi tiết sau:

  • Pending (đang chờ xử lý): trạng thái ban đầu của promise
  • Fulfilled (hoàn thành): trạng thái được cập nhật khi promise đã được thực hiện thành công.
  • Rejected (bị từ chối): trạng thái khi promise đã bị từ chối, có lỗi.
  1. Nêu ra ưu – nhược điểm khi sử dụng Promises

Với câu hỏi phỏng vấn javascript từ nhà tuyển dụng bạn cần nêu rõ các ưu nhược điểm chi tiết của Promises. 

Trả lời: 

Ưu điểm: 

  • Không giống các lệnh gọi lại, Promises có thể kết hợp, vì vậy có thể tránh được những địa chỉ gọi lại.
  • Khi nhiều phản hồi gửi về, bạn có thể dễ dàng thực thi mã với Promises.all.
  • Với sự trợ giúp của Promise.race, bạn có thể đợi kết quả từ Promises đồng thời đang chờ xử lý.
  • Đồng bộ các mã viết không đồng bộ nếu kết hợp Promises vpwos async/await.

Nhược điểm: 

  • Chỉ có thể hoạt động trên một giá trị duy nhất/ thời điểm.
  • Không có sẵn ở những trình duyệt cũ.
  • Chậm hơn so với việc dùng câu lệnh gọi lại, gây ảnh hưởng đến hiệu suất. 
  1. Cho biết Strict mode trong javascript là gì?

Trả lời: Strict được hiểu đơn giản theo nghĩa tiếng Việt là “nghiêm ngặt/ nghiêm khắc”. Như vậy Strict Mode chính là một quy mẫu nghiêm khắc của Javascript. 

  1. Giải thích Anonymous function là gì?

Trả lời: 

Anonymous function được biết đến là một hàm ẩn danh và thường được sử dụng khi xử lý các công việc có quy mô nhỏ. Vì thế không cần thiết phải khởi tạo tên định danh cho hàm này, giúp nó có tốc độ xử lý nhanh hơn so với hàm truyền thống có tên định danh.

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

  1. Cho biết tại sao 0.1 + 0.2 không bằng 0.3?

Trả lời: 

Vấn đề này nằm ở 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 vì thế đã gây ra sai số kiểu này. Giải pháp ở đây là chúng ta có thể sử dụng hàm toFixed() để đạt được kết quả đúng.

  1. Tương tác bằng tham chiếu trong Javascript là thế nào?

Trả lời: Tham chiếu và tham trị là những kiến thức rất quen thuộc và cơ bản nhưng không phải ai cũng có thể hiểu rõ hai khái niệm này dù đã tiếp xúc với JavaScript lâu năm hay mới làm quen.

  1. Toán tử == và === trong Javascript khác nhau như thế nào?

Trả lời: 

Hai bằng (==) được gọi là toán tử so sánh trừu tượng, còn Ba bằng (===) được gọi là toán tử so sánh cân bằng nghiêm ngặt. Sự khác biệt giữa chúng có thể  thể hiện như sau: 

  • Toán tử so sánh trừu tượng sẽ cố gắng giải quyết các kiểu dữ liệu thông qua việc chuyển đổi kiểu dữ liệu trước khi so sánh.
  • Toán tử so sánh nghiêm ngặt sẽ trả về false nếu các giá trị khác nhau.

II. Một số lưu ý khi phỏng vấn JavaScript thêm chuyên nghiệp

Bạn cần lưu ý rằng, những câu hỏi đã được liệt kê ở trên đây chỉ mang tính chất tham khảo và không phải là toàn bộ các câu hỏi phỏng vấn JavaScript bạn có thể gặp trong buổi phỏng vấn của mình. Do đó, để buổi phỏng vấn của mình được thuận lợi và thành công hơn, bạn sẽ cần lưu ý thêm:

  • Kiểm tra lại các tài liệu chuyên môn cùng với kiến thức liên quan đến JavaScript mà bạn biết.
  • Bạn hãy cố gắng đến trước thời gian được hẹn phỏng vấn từ 10 – 15 phút. Khoảng thời gian này giúp bạn điều chỉnh lại trang phục, lấy lại sự bình tĩnh trước khi bước vào buổi phỏng vấn của mình. 
  • Ăn mặc lịch sự và gọn gàng. Hạn chế mặc các trang phục hở hang, màu mè hoặc quần đùi, quần ngắn khi đi phỏng vấn.
  • Trong quá trình phỏng vấn hãy thể hiện phong thái tự tin, chuyên nghiệp. 
  • Nếu gặp các câu hỏi khó và không biết nên trả lời thế nào, bạn hãy thẳng thắn thừa nhận và nhờ đội ngũ tuyển dụng giải đáp cho bạn.

Trong thị trường tuyển dụng ngày nay, kiến thức về JavaScript là một trong những yêu cầu quan trọng đối với các ứng viên trong lĩnh vực công nghệ thông tin. Để giúp bạn chuẩn bị tốt hơn cho phỏng vấn, bài viết này sẽ tổng hợp bộ câu hỏi phỏng vấn JavaScript và câu trả lời chi tiết. Điều này đặc biệt cần thiết khi bạn ứng tuyển vào các công ty lớn như PwC tuyển dụng hay Ricons tuyển dụng. Bạn cần nắm vững các khái niệm cơ bản cũng như những kiến thức nâng cao để có thể trả lời tự tin.

Khi tham gia phỏng vấn cho vị trí tuyển chăm sóc khách hàng, bạn có thể được hỏi về cách xử lý sự cố và giải quyết vấn đề liên quan đến JavaScript. Đối với những ai đang tìm kiếm tuyển dụng merchandiser, việc hiểu biết về các công nghệ web cũng có thể là một lợi thế.

Nếu bạn đang hướng đến các cơ hội tại SHB tuyển dụng, hãy chuẩn bị cho những câu hỏi liên quan đến lập trình và phát triển ứng dụng. Bên cạnh đó, đừng quên kiểm tra các tuyển lái xe container xe đầu kéo mới nếu bạn có hứng thú với công việc trong lĩnh vực vận tải.

Cuối cùng, nếu bạn đang tìm việc làm tiếng Trung Bình Dương hoặc việc làm phổ thông tại Bà Rịa – Vũng Tàu, hãy chuẩn bị sẵn sàng để ghi điểm trong mắt nhà tuyển dụng với các kiến thức JavaScript hữu ích. Bên cạnh đó, bạn cũng có thể tìm thấy nhiều việc làm Ninh Thuận thú vị trong lĩnh vực này!

Trên đây là bộ câu hỏi phỏng vấn JavaScript và những vấn đề bạn cần lưu ý khi phỏng vấn javascript để có thể ghi điểm với nhà tuyển dụng. Hy vọng buổi phỏng vấn sắp tới của bạn sẽ thuận lợi hơn và giúp bạn tìm được công việc ưng ý như mình mong muốn. VietnamWorks chúc bạn thành công!

Nắm bắt thông tin tuyển dụng mới nhất và tham gia ứng tuyển tại VietnamWorks! Top các nhà tuyển dụng cùng việc làm tiềm năng đa dạng: Toyota tuyển dụng, Petrolimex tuyển dụng, EVN tuyển dụng, Sendo Farm tuyển dụng, Cỏ Mềm tuyển dụng, De Heus tuyển dụng, First Solar tuyển dụngTimo tuyển dụng.

Xem thêm: Danh sách câu hỏi phỏng vấn giáo viên tiếng anh dành cho ứng viên


— HR Insider —
VietnamWorks 
– Website tuyển dụng trực tuyến số 1 Việt Nam

adsads
Bài Viết Liên Quan
PCM

Tìm hiểu về PCM - Công nghệ âm thanh chất lượng cao

Công nghệ PCM cung cấp giải pháp chính xác và hiệu quả trong quá trình ghi, phát và xử lý âm thanh. Định dạng này...

workflow

Workflow là gì? Tìm hiểu cách tối ưu hóa quy trình làm việc

Workflow không chỉ đơn thuần là một công cụ quản lý quy trình làm việc, đây còn là một phương tiện giúp doanh nghiệp tăng...

Cầu thị là gì? Cách để trở thành người có tinh thần cầu thị

Cầu thị là gì? Làm thế nào để trở thành người cầu thị - Chìa khóa để thăng tiến trong sự nghiệp

Cầu thị là một phẩm chất quan trọng, thể hiện tinh thần ham học hỏi và sẵn sàng lắng nghe, tiếp thu ý kiến để...

Photography là gì

Photographer là gì? Phân loại, chi tiết công việc của nhiếp ảnh gia

Bạn yêu thích nghệ thuật, đam mê chụp ảnh và muốn biến đam mê thành nghề? Vậy thì nghề Photographer chính là lựa chọn phù...

Khám phá những thông tin thú vị về Prototype trong lĩnh vực thiết kế

Prototype là gì? Vai trò của nó trong thiết kế UI/UX

Prototype đóng vai trò vô cùng quan trọng trong thiết kế UI/UX. Việc sử dụng Prototype không chỉ giúp nhà phát triển tiết kiệm tối...

Bài Viết Liên Quan
PCM

Tìm hiểu về PCM - Công nghệ âm thanh chất lượng cao

Công nghệ PCM cung cấp giải pháp chính xác và hiệu quả trong quá trình...

workflow

Workflow là gì? Tìm hiểu cách tối ưu hóa quy trình làm việc

Workflow không chỉ đơn thuần là một công cụ quản lý quy trình làm việc,...

Cầu thị là gì? Cách để trở thành người có tinh thần cầu thị

Cầu thị là gì? Làm thế nào để trở thành người cầu thị - Chìa khóa để thăng tiến trong sự nghiệp

Cầu thị là một phẩm chất quan trọng, thể hiện tinh thần ham học hỏi...

Photography là gì

Photographer là gì? Phân loại, chi tiết công việc của nhiếp ảnh gia

Bạn yêu thích nghệ thuật, đam mê chụp ảnh và muốn biến đam mê thành...

Khám phá những thông tin thú vị về Prototype trong lĩnh vực thiết kế

Prototype là gì? Vai trò của nó trong thiết kế UI/UX

Prototype đóng vai trò vô cùng quan trọng trong thiết kế UI/UX. Việc sử dụng...

Nhận bài viết qua email cùng
HR Insider – VietnamWorks.email subscribers