Có bao giờ bạn tự hỏi, liệu trong phỏng vấn JavaScript, người ta sẽ hỏi bạn điều gì?
Cùng Got It thử sức với top 21 câu hỏi phỏng vấn JavaScript được chọn lọc bởi trang web Edureka! Đây là những câu hỏi cơ bản, phù hợp cho các bạn từ fresher đến junior, vì vậy nếu bạn đang có kế hoạch bắt đầu sự nghiệp của mình với JavaScript, hoặc muốn kiểm tra lại kiến thức căn bản của mình thì hãy tham khảo 21 câu hỏi phỏng vấn JavaScript dành cho beginners dưới đây nhé.
Got It sẽ đưa cả nguyên văn tiếng anh và bản tạm dịch tiếng Việt để bạn dễ dàng tham khảo. Câu trả lời sẽ được đăng ở cuối bài. Hãy thử tự mình trả lời hết các câu hỏi trước khi so đáp án nhé. Nào, cùng bắt đầu thôi!
21 câu hỏi phỏng vấn JavaScript cho Beginners
Q1. What is the difference between Java & JavaScript?
(Đâu là sự khác nhau giữa Java và JavaScript?)
Q2. What is JavaScript?
(JavaScript là gì?)
Q3. What are the data types supported by JavaScript?
(Những kiểu dữ liệu nào được hỗ trợ bởi JavaScript?)
Q4. What are the features of JavaScript?
(Hãy nêu những điểm đặc trưng của JavaScript)
Q5. Is JavaScript a case-sensitive language?
(JavaScript có phải một ngôn ngữ phân biệt kiểu chữ không?)
Q6. What are the advantages of JavaScript?
(Những lợi thế của JavaScript là gì?)
Q7. How can you create an object in JavaScript?
(Làm thế nào để tạo một đối tượng trong JavaScript?)
Q8. How can you create an Array in JavaScript?
(Làm thế nào để tạo một mảng trong JavaScript?)
Q9. What is a named function in JavaScript & how to define it?
(Named function trong JavaScript là gì và làm thế nào để định nghĩa nó?)
Q10. Can you assign an anonymous function to a variable and pass it as an argument to another function?
(Bạn có thể gán một hàm ẩn danh cho một biến và truyền nó như một đối số cho một hàm khác không?)
Q11. What is arguments object in JavaScript & how to get the type of arguments passed to a function?
(Arguments object trong JavaScript là gì? Làm thế nào để lấy được kiểu dữ liệu của các argument được truyền vào một function?)
Q12. What are the scopes of a variable in JavaScript?
(Phạm vi của một biến trong JavaScript là gì?)
Q13. What is the purpose of ‘This’ operator in JavaScript?
(Mục đích của toán tử ‘This’ trong JavaScript là gì?)
Q14. What is Callback?
(Callback là gì?)
Q15. What is Closure? Give an example.
(Closure là gì? Hãy lấy một ví dụ)
Q16. Name some of the built-in methods and the values returned by them.
(Kể tên một vài built-in methods và giá trị được chúng trả về)
Q17. What are the variable naming conventions in JavaScript?
(Các quy ước đặt tên biến trong JavaScript là gì?)
Q18. How does TypeOf Operator work?
(Toán tử TypeOf hoạt động như thế nào?)
Q19. How to create a cookie using JavaScript?
(Làm thế nào để tạo cookie bằng JavaScript?)
Q20. How to read a cookie using JavaScript?
(Làm thế nào để đọc cookie bằng JavaScript?)
Q21. How to delete a cookie using JavaScript?
(Làm thế nào để xoá cookie bằng JavaScript?)
Kết quả của bạn thế nào? Bạn có tự tin trả lời được hết 21 câu hỏi phỏng vấn JavaScript dành cho beginner ở trên?
Hãy cùng Got It so đáp án để xem mình có trả lời đúng không nhé!
Đáp án chi tiết
Q1.
Q2. JavaScript là một ngôn ngữ lập trình thông dịch nhẹ (lightweight, interpreted programming language) với khả năng hướng đối tượng, cho phép bạn xây dựng tính tương tác cho các trang HTML tĩnh. Ngôn ngữ này được dùng rộng rãi cho các trang web (phía người dùng) cũng như phía máy chủ (với Node.js).
Q3.
Các kiểu dữ liệu được được hỗ trợ bởi JavaScript bao gồm:
- Undefined (giá trị chưa được gán)
- Null (rỗng)
- Boolean (true/false)
- String (chuỗi)
- Symbol (mới có trong ECMAScript 6)
- Number (số)
- Object (đối tượng)
Q4.
Điểm đặc trưng của JavaScript:
- Là một ngôn ngữ lập trình thông dịch nhẹ (lightweight, interpreted programming language)
- Được thiết kế để tạo ra các ứng dụng lấy mạng làm trung tâm (network-centric applications)
- Bổ sung và tích hợp với Java
- Là một ngôn ngữ kịch bản (scripting language) mở và đa nền tảng
Q5. Đúng, JavaScript là một ngôn ngữ phân biệt kiểu chữ (case-sensitive language). Các từ khoá, biến, tên hàm hay bất kỳ identifier nào đều phải được viết theo quy tắc nhất quán và có phân biệt giữa chữ hoa-chữ thường. Ví dụ, myname và myName được hiểu là hai biến khác nhau.
Q6.
Lợi thế của JavaScript bao gồm:
- Ít tương tác với máy chủ – Bạn có thể xác thực thông tin đầu vào của người dùng trước khi gửi trang đến máy chủ. Điều này tiết kiệm lưu lượng truy cập máy chủ, có nghĩa là máy chủ sẽ phải load ít hơn.
- Phản hồi ngay lập tức cho khách truy cập – Họ không phải đợi tải lại trang để xem liệu mình có quên nhập nội dung nào đó hay không.
- Tăng tính tương tác – Bạn có thể tạo ra một giao diện phản hồi người dùng ngay khi họ di chuột hoặc kích hoạt tính năng gì đó qua bàn phím.
- Giao diện phong phú hơn – Bạn có thể sử dụng JavaScript để khiến giao diện trở nên sống động hơn với các tính năng như kéo-thả, thanh trượt…
Q7. Bạn có thể tạo một đối tượng trong JavaScript với object literal như sau:
Q8. Bạn có thể xác định mảng với array literal như sau:
Q9. Named function khai báo tên ngay khi nó được định nghĩa. Nó có thể được định nghĩa bằng function keyword như sau:
Q10. Có thể! Một hàm ẩn danh có thể được gán cho một biến. Nó cũng có thể được truyền như một đối số cho một hàm khác.
Q11. Các JavaScript variable arguments đại diện cho các arguments (đối số) được truyền vào một function (hàm). Bằng cách sử dụng toán tử typeof, chúng ta có thể lấy được kiểu dữ liệu của các arguments được truyền vào một function. Ví dụ:
Q12. Phạm vi của một biến là vùng mà chương trình của bạn được xác định. Biến JavaScript sẽ chỉ có hai phạm vi:
- Biến toàn cục (Global Variables) – Một biến toàn cục có phạm vi toàn cầu, nghĩa là nó hiển thị ở mọi nơi trong mã JavaScript của bạn.
- Biến cục bộ (Local Variables) – Một biến cục bộ sẽ chỉ hiển thị trong một hàm mà nó được xác định. Các tham số của hàm luôn nằm cục bộ trong hàm đó.
Q13. Từ khóa “this” trong JavaScript được dùng để chỉ đối tượng mà nó thuộc về. “This” có các giá trị khác nhau tùy thuộc vào nơi nó được sử dụng. Ví dụ trong một method, “this” chỉ owner object và trong một function, “this” chỉ global object.
Q14. Callback là một hàm JavaScript thuần túy được truyền đến một số method dưới dạng argument hoặc option. Hàm sẽ được thực thi sau khi một hàm khác đã thực thi xong, do đó nó có tên là ‘call back‘. Trong JavaScript, các hàm là các đối tượng (objects). Do đó, các hàm có thể nhận các hàm làm đối số (arguments) và có thể được trả về bởi các hàm khác.
Q15. Closure là một hàm hoặc một tham chiếu đi kèm với môi trường mà nó tham chiếu đến. Một closure là một inner function (hàm khai báo bên trong một hàm khác) có khả năng truy cập tới các biến của outer function (hàm chứa inner function) hay scope chain. Trong JavaScript, closures được tạo ra mỗi khi một function được tạo ra. Để dùng một closure, ta chỉ cần định nghĩa một function trong một function khác và expose nó.
Q16.
Q17. Các quy tắc sau phải được tuân thủ khi đặt tên biến trong JavaScript:
- Bạn không nên sử dụng bất kỳ từ khóa dành riêng cho JavaScript nào làm tên biến. Ví dụ, tên biến break hoặc boolean là không hợp lệ
- Tên biến JavaScript không được bắt đầu bằng chữ số (0-9). Chúng phải bắt đầu bằng một chữ cái hoặc ký tự gạch dưới. Ví dụ: 123name là một tên biến không hợp lệ nhưng _123name hoặc name123 là một tên hợp lệ
- Tên biến JavaScript phân biệt chữ hoa chữ thường. Ví dụ, Test và test là hai biến khác nhau.
Q18. Toán tử typeof được sử dụng để lấy kiểu dữ liệu của toán hạng của nó. Toán hạng có thể là một chữ hoặc một cấu trúc dữ liệu, ví dụ như một biến, một hàm hoặc một đối tượng. Nó là một toán tử một ngôi được đặt trước toán hạng đơn của nó, có thể thuộc bất kỳ kiểu nào. Giá trị của nó là một chuỗi chỉ ra kiểu dữ liệu của toán hạng.
Q19. Cách đơn giản nhất để tạo cookie là gán một giá trị chuỗi cho đối tượng document.cookie như sau:
Q20. Đọc một cookie cũng đơn giản như viết một cookie, vì giá trị của đối tượng document.cookie chính là cookie đó. Vì vậy, bạn có thể sử dụng chuỗi này bất cứ khi nào bạn muốn truy cập cookie.
- Chuỗi document.cookie sẽ giữ một danh sách các cặp name = value được phân tách bằng dấu chấm phẩy, trong đó name là tên của cookie và value là giá trị chuỗi của nó
- Bạn có thể sử dụng hàm split() của chuỗi để ngắt chuỗi thành khóa và các giá trị.
Q21. Nếu bạn muốn xóa cookie để những lần đọc cookie tiếp theo không trả lại kết quả gì, bạn chỉ cần đặt ngày hết hạn thành một thời điểm trong quá khứ. Bạn nên xác định đường dẫn cookie để đảm bảo rằng bạn xóa đúng cookie. Một số trình duyệt sẽ không cho phép bạn xóa cookie nếu bạn không chỉ định đường dẫn.
Got It Vietnam, theo Edureka!