Tổng hợp những câu hỏi phỏng vấn Front-end

Vì một tương lai lương cao ngất

Posted by Box XV on October 15, 2019. 16 min read.

Trong bài viết này, tôi sẽ tổng hợp lại những kiến thức về Front-end, mà có thể các bạn sẽ được hỏi khi đi phỏng vấn.

61 câu hỏi phỏng vấn Html/CSS

1. Thẻ Meta được dùng để làm gì trong hmtl?
2. Iframe là gì và nó hoạt động như thế nào?
3. Giới thiệu sơ về thẻ meta trong HTML?
4. Mục đích của thuộc tính alt trong thẻ img?
5. Khai báo “DOCTYPE” dùng để làm gì?
6. Liệt kê 3 cách để định nghĩa 1 color trong html?
7. Giải thích ý nghĩa các CSS selectors dưới đây?
8. Giải thích các đơn vị độ dài trong css dưới đây?
9. CSS có phân biệt hoa thường không?
10. Thuộc tính float trong CSS thường dùng để làm gì?
11. Margin và padding khác nhau thế nào?
12. Display:inline và display:block khác nhau thể nào?
13. Làm sao để add 1 comments trong CSS?
14. Điểm khác nhau giữa CSS và CSS3?
15. Thuộc tính “opacity” được dùng làm gì?
16. Điểm khác biệt giữa “width: auto” và “width: 100%” trong CSS?
17. Thẻ “div” và thẻ “span” khác nhau thế nào?
18. Giải thích các giá trị của thuộc tính position: Fixed, Absolute, Relative, Static.
19. Làm cách nào để có có thứ hạng tốt hơn trong SEO bởi Search Engines (ví dụ Google)?
20. Mô tả các tính năng chính của HTML5?
21. Làm sao để làm nổi bật (highlight) text trong HTML?
22. Mô tả ngắn gọn cách sử dụng chính xác các phần tử ngữ nghĩa HTML5 sau: <header>, <article>, <section>, <footer>
23. Character Encoding là gì?
24. Thẻ tự đóng (self closing tag) là gì?
25. Sự khác biệt giữa "attribute" (thuộc tính) và "property" (đặc tính) trong HTML?
26. Khi nào thì thích hợp để sử dụng thẻ small?
27. Giải thích sự khác biệt giữa các phần tử <block> và các phần tử <inline> ?
28. Giải thích 3 mode trong html: almost standard, full standard và quirks?
29. Bạn đặt chế độ tương thích với IE như thế nào?
30. Có gì mới trong html5?
31. Bạn đã từng sử dụng ngôn ngữ nào khác HTML chưa?
32. Làm sao để thực hiện 1 nội dung bằng đa ngôn ngữ trong 1 website?
33. Làm thế nào để bạn thay đổi hướng của văn bản html?
34. Thẻ optional là gì?
35. Sự khác nhau giữa <section> và <div>?
36. Thuộc tính defer và async trên thẻ <script> là gì?
37. Mục đích của chặn bộ nhớ cache (Cache busting) là gì và làm thế nào bạn có thể thực hiện nó?
38. Một số khác biệt mà XHTML có so với HTML?
39. Web Workers là gì?
40. Thuộc tính rel="noopener" được sử dụng ở đâu và tại sao?
41. WebSQL là gì?
42. DOCTYPE làm gì?
43. DOM là gì?
44. Giải thích sự khác biệt giữa Cookie, Session Storage và Local Storage?
45. HTML5 Web Storage là gì? Giải thích sự khác nhau giữa localStorage và sessionStorage?
46. Một trang web có thể chứa nhiều thẻ <header> hay thẻ <footer> không?
47. Các thuộc tính "data-" có lợi cho việc gì?
48. WebSQL là gì?
49. Mục đích của thẻ <main> là gì?
50. Các khối xây dựng (building blocks) của HTML5 là gì?
51. Tại sao sử dụng thẻ ngữ nghĩa (semantic) HTML5?
52. HTML Preprocessor là gì và bạn có đang dùng chúng không?
53. Progressive rendering là gì?
54. Tại sao bạn sử dụng thuộc tính “srcset” trong thẻ <img>? Giải thích quy trình mà trình duyệt sử dụng khi đánh giá nội dung của thuộc tính này. 
55. Bạn phải lưu ý những điều gì khi phát triển các trang web đa ngôn ngữ?
56. WebP là gì?
57. Bạn sẽ chọn sử dụng svg hay canvas cho trang web của mình?
58. Làm thế nào để tạo khoá công khai (public key) trong HTML?
59. IndexedDB là gì?
60. Accessibility và ARIA role có ý nghĩa gì trong một ứng dụng web?
61. Web Components là gì?

42 câu hỏi phỏng vấn Javascript

1. Khác nhau giữa null và undefined?
2. Khác nhau giữa 2 hàm document.ready và body.onload?
3. Kể tên 3 loại dữ liệu cơ bản của javascript
4. Cho biết output của 2 dòng lệnh dưới?
5. Cho biết output của lệnh: Console.log(typeof undefined == typeof NULL)
6. Cho biết output của lệnh dưới đây: console.log(typeof typeof 1)
7. Sự khác nhau giữa call và apply?
8. Hàm anonymous là gì và khi nào nên sử dụng nó?
9. Lập trình bất đồng bộ trong javascript là gì?
10. Strict mode trong JavaScript là gì?
11. Khi nào cần sử dụng async và defer trong javascript?
12. Làm sao để clone một mảng?
13. Scope của 1 biến trong javascript là gì? Có bao nhiêu loại scope?
14. "This" trong javascript được dùng để làm gì?
15. Closure trong javascript là gì? Cho ví dụ.
16. Kể các cách khai báo 1 biến trong Javascript?
17. Kiểu object là gì?
18. Giải thích về Arrays trong JavaScript?
19. Toán tử typeof là gì?
20. Giải thích về Equality trong JavaScript?
21. Điểm khác nhau giữa GET và POST?
22. Khác nhau giữa so sánh “==” và “===”?
23. Kể tên các loại dữ liệu tích hợp sẵn trong Javascript?
24. Giải thích chính sách same-origin trong JavaScript?
25. Có cách nào để buộc sử dụng Strict mode trong Node.js không?
26. Tại sao bạn lại sử dụng sự kiện load? Sự kiện này có nhược điểm gì không? Bạn có sự thay thế nào cho sự kiện load này không, và tại sao bạn lại sử dụng chúng?
27. Sự khác biệt giữa các Host objects và Native objects là gì?
28. Bạn sử dụng câu lệnh nào để lặp qua các thuộc tính của đối tượng và các items của mảng?
29. Giải thích về bubbling event và cách để ngăn chặn nó?
30. Tại sao nói rằng ý tưởng giữ nguyên global scope của một trang web và không bao giờ chạm vào nó là một ý tưởng hay?
31. Polyfill là gì?
32. Sự khác biệt giữa throw Error('msg') so với throw new Error(‘msg’) là gì?
33. IIFEs (Immediately Invoked Function Expressions) là gì?
34. Coercion trong JavaScript là gì?
35. Sự khác biệt giữa shim và polyfill là gì?
36. Hãy định nghĩa một Higher-Order Function?
37. Bạn nghĩ gì về AMD (Asynchronous Module Definition) và CommonJS?
38. Giải thích sự khác biệt về cách sử dụng foo giữa "function foo () {}" và "var foo = function () {}" ?
39. Hạn chế của việc tạo phương thức private trong JavaScript là gì?
40. Cú pháp ưa thích để định nghĩa enums trong JavaScript?
41. Trình bày sự khác biệt giữa ES5 và ES6?
42. Lợi ích của việc sử dụng cú pháp spread trong ES6 và nó khác với cú pháp rest như thế nào?

1. Thẻ Meta được dùng để làm gì trong hmtl?

Thẻ Meta trong html được các developer sử dụng để báo cho trình duyệt về mô tả trang, tác giả, tập ký tự, các từ khóa và nhiều thứ khác.

Thẻ Meta được sử dụng cho việc tối ưu hóa công cụ tìm kiếm để nói cho công cụ tìm kiếm về nội dung trang.

<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale = 1.0">
<meta name="description" content="HTML interview questions">
<meta name="author" content="Author Name">
<meta name="copyright" content="All Rights Reserved">

2. Iframe là gì và nó hoạt động như thế nào?

Iframe là một văn bản HTML (HTML document) được nhúng vào một trang html khác.

<iframe src="https://github.com" height="300px" width="300px"></iframe>

3. Giới thiệu sơ về thẻ meta trong HTML?

  • Thẻ meta luôn đi bên trong phần tử <head> và thường được sử dụng để chỉ định bộ ký tự, mô tả trang, từ khóa, tác giả của tài liệu và cài đặt chế độ xem.
  • Thẻ meta luôn có cặp tên/giá trị.
  • Dữ liệu meta sẽ không được hiển thị trên trang nhưng có thể phân tích cú pháp bằng máy.
  • Thẻ meta được sử dụng bởi các trình duyệt (cách hiển thị nội dung hoặc tải lại trang), công cụ tìm kiếm (từ khóa) và các dịch vụ web khác.
<!DOCTYPE html>
<html>
    <head>
        <meta name="description" content="I am a web page with description" />
        <title>Home Page</title>
    </head>
    <body></body>
</html>

4. Mục đích của thuộc tính alt trong thẻ img?

Thuộc tính alt cung cấp thông tin về hình ảnh trong trường hợp người dùng không xem được ảnh (sai đường dẫn hoặc ảnh không tìm thấy).

Thuộc tính alt thường được dùng để mô tả thông tin hình ảnh, một số trường hợp thuộc tính alt được dùng trong mục đích trang trí, một số trường hợp thuộc tính alt có thể bị bỏ trống.

5. Khai báo DOCTYPE dùng để làm gì?

Để trình duyệt nhận biết trang html đó được viết ở phiên bản nào.

6. Liệt kê 3 cách để định nghĩa 1 color trong html?

  • Hex (color: #FFFFFF)
  • Name (color: red)
  • RGB(0,0,225)

7. Giải thích ý nghĩa các CSS selectors dưới đây?

“div, p”: chọn tất cả các thẻ div và tất cả các thẻ p. “div p”: chọn tất cả các thẻ p nằm trong thẻ div. “div > p”: chọn tất cả thẻ p có thẻ cha trực tiếp là thẻ div. “div + p”: chọn tất cả thẻ p được đặt trực tiếp sau thẻ div. “div ~ p”: chọn tất cả thẻ p đứng trước nó là thẻ div.

8. Giải thích các đơn vị độ dài trong css dưới đây?

  • Cm: centimeters.
  • Em: elements, ví dụ 2 em = 2 lần font-size của thẻ đó.
  • In: inches. - Mm: millimeters.
  • Pc: picas ( 1pc = 12pt = 1/6 in)
  • Pt: points ( 1pt = 1/72 in) - Px: pixels ( 1/96 in)

9. CSS có phân biệt hoa thường không?

Không phân biệt.

10. Thuộc tính float trong CSS thường dùng để làm gì?

Dùng để đặt các thẻ HTML theo hướng nằm ngang, float thường dùng 2 giá trị left và right.

11. Margin và padding khác nhau thế nào?

Hiểu đơn giản thì margin căn lề ngoài và padding căn lề trong của thẻ đó.

12. Display:inline và display:block khác nhau thể nào?

Block sẽ làm thẻ đó có space trước và sau nó, và space đó sẽ chiếm hết các width có sẵn. Inline thì chỉ xài đủ width yêu cầu.

13. Làm sao để add 1 comments trong CSS?

Dùng cặp dấu /* comments */.

14. Điểm khác nhau giữa CSS và CSS3?

Một số tính năng nổi bật được bổ sung thêm trong CSS3: animation: Xác định chuyển động của một thành phần appearance: Định dạng cho thành phần trông như giao diện chuẩn gần với người dùng. backface-visibility: Xác định bề mặt sau của thành phần khi thực hiện một chuyển động xoay. background-clip: Xác định vùng background được cắt bớt theo vùng được giới hạn. background-origin: Xác định giá trị tương đối của background giới hạn theo vùng giới hạn. background gradient: Tạo màu sắc cho background theo biên độ giảm dần đều. multiple background: Sử dụng để khai báo nhiều background khác nhau trong cùng một tag. border-image: Dùng để định dạng các border bằng hình ảnh. border-radius: Dùng để định dạng các dạng bo góc của border. box-align: Xác định vị trí cho thành phần thoe chiều dọc hoặc theo chiều thẳng đứng. box-direction: Xác định hướng cho thành phần. box-flex: Xác định sự ưu tiên linh hoạt theo các thành phần khác. box-ordinal-group: Cho biết thứ tự ưu tiên của các thành phần. box-orient: Xác định thành phần theo mép rìa của thành phần. box-sizing: Xác định lại chiều rộng và chiều cao của thành phần. box-shadow: Định dạng bóng cho thành phần. column: Dùng để chia nội dung thành phần thành nhiều cột khác nhau. @font-face: Định dạng các dạng font chữ khác nhau theo các dạng font riêng. font-size-adjust: Dùng để định dạng điều chỉnh cho font chữ, độ lớn của chữ được thể hiện bởi phép nhân. @keyframes: Dùng để điều khiển diễn biến một hoạt động của thành phần, được dùng kèm với thuộc tính animation nav: Di chuyển qua lại giữa các thành phần điều hướng (navigate) bằng ác di chuyển các phím mũi tên opacity: Hiển thị cấp độ trong suốt cho thành phần. perspective: Cho ta thấy được chiều sâu của thành phần trong khai báo 3D. perspective-origin: Định nghĩa trục quay cho thành phần sử dụng perspective. resize: Định dạng cho vùng nội dung mà người dụng có thể thay đổi được kích thước. text-justify: Tăng hoặc giảm khoảng cách giữa các từ và giữa các ký tự sao cho dàn đều thành phần. text-overflow: Xác định vùng text được cắt bớt. text-shadow: Xác định đổ bóng cho text. transform: Xác định một quá trình chuyển đổi khi có một hành động. word-break: Sẽ làm cho những hữ trong một từ không còn là một thể thống nhất, nghĩa là có thể xuống dòng bất cứ vị trí nào trong từ. word-wrap: Sẽ làm cho những từ dài xuống hàng mà không làm vỡ layout.

15. Thuộc tính “opacity” được dùng làm gì?

Nó thể hiện như thuộc tính visibility và nó mờ dần từ 1-> 0 ( 1 -> 0.9 -> 0.8 …)

16. Điểm khác biệt giữa “width: auto” và “width: 100%” trong CSS?

  • Auto sẽ đạt điểm độ rộng đầy đủ và sẽ trừ đi độ rộng của border, margin, padding,…
  • 100% sẽ buộc thẻ đó bằng độ rộng của thẻ cha và tự động nới rộng ra them nếu có them các border, padding, margin,… điều đó sẽ gây ra một số vấn đề không mong muốn)

17. Thẻ “div” và thẻ “span” khác nhau thế nào?

  • Thẻ “span” với thuộc tính “display: inline” và thẻ “div” với thuộc tính “display:block”.
  • Chúng ta thường dùng thẻ “span” khi muốn các element nằm trên cùng 1 line.
  • Không được đặt thẻ block vào trong thẻ inline được, nhưng ngược lại có thể đặt thẻ inline trong thẻ block.
<div>
   <span>inline content</span>
</div>

Thẻ div có thể có một thẻ p và thẻ p có thể có 1 thẻ span.

<span>
   <div>content</div>
</span>

Thẻ span không thể có thẻ div hoặc thẻ p ở bên trong.

18. Giải thích các giá trị của thuộc tính position: Fixed, Absolute, Relative, Static.

  • Relative: Định vị trí tuyệt đối (vị trí bao ngoài), lúc này các thẻ HTML bên trong sẽ coi nó là thẻ cha.
  • Absolute: Định vị trí tương đối theo thẻ cha (thẻ khai báo relative) hoặc thẻ body nếu ko có khai báo.
  • Fixed: Định vị trí tương đối cho của sổ Browser của trình duyệt (khi kéo scroll nó sẽ không bị ẩn đi).
  • Static: Dạng mặc định - sẽ hiển thị theo đúng thứ tự của nó (thường dùng để hủy các thuộc tính bên dưới).

19. Làm cách nào để có có thứ hạng tốt hơn trong SEO bởi Search Engines (ví dụ Google)?

Đặt thẻ meta name= “keywords” và name= “description” vào giữa thẻ <head> trong trang html.

<META NAME="keywords" CONTENT="keyword keyword keyword keyword" />
<META NAME="description" CONTENT="description of your site" />

Content có thể nhập tối đa 1022 ký tự. Nếu một từ khoá (keyword) dùng nhiều hơn 7 lần, thẻ từ khoá sẽ bị bỏ qua hoàn toàn. Ngoài ra, bạn không thể đặt đánh dấu (markup) trong mô tả hoặc danh sách từ khóa.

20. Mô tả các tính năng chính của HTML5?

HTML5 được thiết kế để thay thế HTML 4, XHTML và HTML DOM. Các mục tiêu và yêu cầu của HTML5 là:

  • Cung cấp nội dung phong phú (đồ họa, phim, v.v.) mà không cần bổ sung plugin, chẳng hạn như Flash.
  • Cung cấp hỗ trợ ngữ nghĩa tốt hơn cho cấu trúc trang web thông qua các thẻ phần tử cấu trúc mới.
  • Cung cấp tiêu chuẩn phân tích cú pháp chặt chẽ hơn để đơn giản hóa việc xử lý lỗi, đảm bảo hành vi trên nhiều trình duyệt nhất quán hơn và đơn giản hóa khả năng tương thích với các tài liệu được viết theo tiêu chuẩn cũ hơn.
  • Cung cấp hỗ trợ đa nền tảng tốt hơn dù chạy trên PC, Máy tính bảng hay Điện thoại thông minh.

21. Làm sao để làm nổi bật (highlight) text trong HTML?

Nếu bạn đang làm việc với html5, thẻ có thể nhanh chóng và dễ dàng để làm nổi bật hoặc đánh dấu văn bảng trong trang.

<mark>highlighted text</mark>

Để nổi bật đoạn văn bảng chỉ dùng mã HTML và hỗ trợ tất cả trình duyệt, dùng thuộc tính css như bên dưới:

<span style="background-color: #FFFF00">Yellow text.</span>

22. Mô tả ngắn gọn cách sử dụng chính xác các phần tử ngữ nghĩa HTML5 sau: <header>, <article>, <section>, <footer>

<header> được sử dụng để chứa thông tin giới thiệu và điều hướng về một phần của trang. Điều này có thể bao gồm tiêu đề phần, tên tác giả, ngày giờ xuất bản, mục lục hoặc thông tin điều hướng khác. <article> có nghĩa là chứa một bố cục độc lập có thể được tạo lại một cách hợp lý bên ngoài trang mà không làm mất đi sự phức tạp. Các bài đăng trên blog cá nhân hoặc các câu chuyện tin tức là những ví dụ tốt. <section> là một vùng chứa linh hoạt để chứa nội dung có chung một chủ đề hoặc mục đích thông tin. <footer> được sử dụng để giữ thông tin sẽ xuất hiện ở cuối phần nội dung và chứa thông tin bổ sung về phần đó. Tên tác giả, thông tin bản quyền và các liên kết liên quan là những ví dụ điển hình của nội dung đó.

23. Character Encoding là gì?

Để hiển thị trang HTML một cách chính xác, trình duyệt web phải biết bộ ký tự nào (mã hóa ký tự) sẽ sử dụng. Điều này được chỉ định trong thẻ: HTML4:

<meta http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" />

HTML5:

<meta charset="UTF-8" />

24. Thẻ tự đóng (self closing tag) là gì?

Trong HTML5, không nhất thiết phải đóng các thẻ HTML nhất định. Các thẻ không bắt buộc phải có thẻ đóng được gọi là thẻ “tự đóng”. Ví dụ thẻ tự đóng xuống hàng
hoặc thẻ , nghĩa là HTML chấp nhận 2 kiểu khai báo thẻ như sau:

<meta charset="UTF-8"> 
... 
<meta charset="UTF-8" />

25. Sự khác biệt giữa “attribute” (thuộc tính) và “property” (đặc tính) trong HTML?

Đầu tiên bạn đọc cần hiểu rõ rằng trong document của HTML chỉ có khái niệm attribute của thẻ và không có khái niệm property của thẻ.

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <input id="test-id" name="test-name" type="text" value="Test Value">
</body>
</html>

Ta nói rằng phần tử input của trang có các thuộc tính id, name, type, value. Ta có đoạn mã bên dưới:

var inputElement = document.getElementById("test-id");

Với ví dụ trên thì biến inputElement là một DOM Object tạo bởi JavaScript và đối tượng này được dùng để gắn với phần tử input trong HTML.

Biến inputElement này có cả hai Attribute và Property.

Và sự khác nhau giữa attribute và property nằm ở chỗ:

Attribute của DOM object phản ánh (và liên hệ chặt chẽ với) attribute của phần tử HTML. Ngược lại, property của DOM object được quy định bởi JavaScript và không hẳn liên quan tới phần tử HTML.

Ví dụ đối tượng inputElement của JavaScript ở trên còn có các property khác như children, childNodes, childElementCount, baseURI….

Bạn nhớ rằng phần tử HTML không có property mà chỉ có attribute. Ngược lại DOM Object có cả attribute và property.

26. Khi nào thì thích hợp để sử dụng thẻ small?

27. Giải thích sự khác biệt giữa các phần tử và các phần tử ?

28. Giải thích 3 mode trong html: almost standard, full standard và quirks?

29. Bạn đặt chế độ tương thích với IE như thế nào?

30. Có gì mới trong html5?

31. Bạn đã từng sử dụng ngôn ngữ nào khác HTML chưa?

32. Làm sao để thực hiện 1 nội dung bằng đa ngôn ngữ trong 1 website?

33. Làm thế nào để bạn thay đổi hướng của văn bản html?

34. Thẻ optional là gì?

35. Sự khác nhau giữa <section> và <div>?

36. Thuộc tính defer và async trên thẻ

37. Mục đích của chặn bộ nhớ cache (Cache busting) là gì và làm thế nào bạn có thể thực hiện nó?

38. Một số khác biệt mà XHTML có so với HTML?

39. Web Workers là gì?

40. Thuộc tính rel=”noopener” được sử dụng ở đâu và tại sao?

41. WebSQL là gì?

42. DOCTYPE làm gì?

43. DOM là gì?

45. HTML5 Web Storage là gì? Giải thích sự khác nhau giữa localStorage và sessionStorage?

47. Các thuộc tính “data-“ có lợi cho việc gì?

48. WebSQL là gì?

49. Mục đích của thẻ <main> là gì?

50. Các khối xây dựng (building blocks) của HTML5 là gì?

51. Tại sao sử dụng thẻ ngữ nghĩa (semantic) HTML5?

52. HTML Preprocessor là gì và bạn có đang dùng chúng không?

53. Progressive rendering là gì?

54. Tại sao bạn sử dụng thuộc tính “srcset” trong thẻ ? Giải thích quy trình mà trình duyệt sử dụng khi đánh giá nội dung của thuộc tính này.

55. Bạn phải lưu ý những điều gì khi phát triển các trang web đa ngôn ngữ?

56. WebP là gì?

57. Bạn sẽ chọn sử dụng svg hay canvas cho trang web của mình?

58. Làm thế nào để tạo khoá công khai (public key) trong HTML?

59. IndexedDB là gì?

60. Accessibility và ARIA role có ý nghĩa gì trong một ứng dụng web?

61. Web Components là gì?


42 câu hỏi phỏng vấn Javascript

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

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

3. Kể tên 3 loại dữ liệu cơ bản của javascript

4. Cho biết output của 2 dòng lệnh dưới?

5. Cho biết output của lệnh: Console.log(typeof undefined == typeof NULL)

6. Cho biết output của lệnh dưới đây: console.log(typeof typeof 1)

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

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

9. Lập trình bất đồng bộ trong javascript là gì?

10. Strict mode trong JavaScript là gì?

11. Khi nào cần sử dụng async và defer trong javascript?

12. Làm sao để clone một mảng?

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

14. “This” trong javascript được dùng để làm gì?

15. Closure trong javascript là gì? Cho ví dụ.

16. Kể các cách khai báo 1 biến trong Javascript?

17. Kiểu object là gì?

18. Giải thích về Arrays trong JavaScript?

19. Toán tử typeof là gì?

20. Giải thích về Equality trong JavaScript?

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

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

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

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

25. Có cách nào để buộc sử dụng Strict mode trong Node.js không?

26. Tại sao bạn lại sử dụng sự kiện load? Sự kiện này có nhược điểm gì không? Bạn có sự thay thế nào cho sự kiện load này không, và tại sao bạn lại sử dụng chúng?

27. Sự khác biệt giữa các Host objects và Native objects là gì?

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

29. Giải thích về bubbling event và cách để ngăn chặn nó?

30. Tại sao nói rằng ý tưởng giữ nguyên global scope của một trang web và không bao giờ chạm vào nó là một ý tưởng hay?

31. Polyfill là gì?

32. Sự khác biệt giữa throw Error(‘msg’) so với throw new Error(‘msg’) là gì?

33. IIFEs (Immediately Invoked Function Expressions) là gì?

34. Coercion trong JavaScript là gì?

35. Sự khác biệt giữa shim và polyfill là gì?

36. Hãy định nghĩa một Higher-Order Function?

37. Bạn nghĩ gì về AMD (Asynchronous Module Definition) và CommonJS?

38. Giải thích sự khác biệt về cách sử dụng foo giữa “function foo () {}” và “var foo = function () {}” ?

39. Hạn chế của việc tạo phương thức private trong JavaScript là gì?

40. Cú pháp ưa thích để định nghĩa enums trong JavaScript?

41. Trình bày sự khác biệt giữa ES5 và ES6?

42. Lợi ích của việc sử dụng cú pháp spread trong ES6 và nó khác với cú pháp rest như thế nào?

Tham khảo: