BÀI KIỂM TRA LUYỆN TẬPCông nghệ và lập trình

Luyện thi lập trình JavaScript

Bài luyện tập lập trình JavaScript miễn phí: các khái niệm về JavaScript, kết quả mã lệnh ghi vào nhật ký, tìm lỗi và chọn giải pháp hoạt động đúng, theo phong cách bài đánh giá lập trình của nhà tuyển dụng. Mỗi câu trả lời đều có lời giải thích.

  • 10 câu hỏi miễn phí, không cần tài khoản
  • Bấm giờ như bài kiểm tra thực tế
  • Hủy bất cứ lúc nào
Bài mẫu miễn phí
10 câu hỏi · 30 phút
Các dạng câu hỏi
Các khái niệm JavaScript, Nội dung mã ghi ra, Tìm lỗi và nhiều dạng khác
Bài thi thử đầy đủ
Số câu hỏi và thời gian giới hạn của bài thi thực tế

Câu trả lời ngắn gọn

Bài kiểm tra lập trình JavaScript là bài đánh giá trực tuyến mà một số nhà tuyển dụng dùng để kiểm tra khả năng đọc, viết và gỡ lỗi JavaScript của ứng viên trước buổi phỏng vấn. Không có một bài kiểm tra duy nhất: mỗi nhà tuyển dụng chọn nền tảng, đặt câu hỏi và quy định độ dài cũng như giới hạn thời gian riêng; nhiều bài yêu cầu bạn viết mã và chấm dựa trên các trường hợp kiểm thử. Bài luyện tập miễn phí này có 10 câu hỏi nguyên bản về đọc, lần theo luồng chạy, gỡ lỗi và lựa chọn mã JavaScript hiện đại, kéo dài khoảng 30 phút.

Bài mẫu miễn phí
10 câu hỏi trong 30 phút
Định dạng
Do từng nhà tuyển dụng và nền tảng quy định
Ví dụ (HackerRank JavaScript Basic)
2 câu hỏi trong 1 giờ 30 phút
Câu hỏi lập trình
Thường được chấm tự động dựa trên các ca kiểm thử

Dùng thử miễn phí

10 câu hỏi trong 30 phút, với tốc độ thực tế. Cuối bài, bạn sẽ nhận được điểm số và lời giải thích cho từng câu trả lời.

Đang tải câu hỏi luyện tập

Chọn gói của bạn

Mở khóa nội dung luyện tập đầy đủ

Bài kiểm tra JavaScript: các bài thi thử đầy đủ có giới hạn thời gian, cùng mọi bài kiểm tra khác

Chọn gói
Đăng ký gói Monthly
  • Bài thi thử đầy đủ, có tính giờ cho bài kiểm tra này
  • Giải thích cho từng câu hỏi
  • Điểm theo từng dạng câu hỏi và lịch sử làm bài của bạn
  • Bao gồm tất cả 93 bài kiểm tra luyện tập
  • Dùng được trên điện thoại và máy tính

Hoàn tiền trong 7 ngày nếu bạn chưa làm quá một bài thi thử đầy đủ. Giá tính bằng USD.

Nội dung luyện tập đầy đủ gồm những gì

Bài thi thử đầy đủ theo định dạng và thời gian của bài kiểm tra thực tế, mỗi bài đều có phần xem lại đầy đủ sau khi hoàn thành.

  1. Miễn phíBài mẫu miễn phí10 câu hỏi · 30 phút
  2. Bài thi thử đầy đủSố câu hỏi và thời gian giới hạn của bài thi thực tế
  3. Mọi dạng câu hỏiCác khái niệm JavaScript, Nội dung mã ghi ra, Tìm lỗi và nhiều dạng khác
  4. Phần xem lại đầy đủĐiểm theo từng dạng câu hỏi sau mỗi bài thi thử
  5. Lịch sử điểm sốTiến độ của bạn qua các lần làm bài
  6. Điện thoại hoặc máy tính xách tayLuyện tập mọi lúc mọi nơi

Bài mẫu miễn phí hoặc luyện tập đầy đủ

Tính năngMiễn phíĐầy đủ
Câu hỏi theo phong cách bài thi thực tế
Giải thích mọi câu trả lời
Bài thi thử đầy đủ, có tính giờ
Điểm số theo dạng câu hỏi
Lịch sử điểm số qua các bài thi thử
Tất cả 93 bài kiểm tra luyện tập

Hướng dẫn ôn tập miễn phí

Những điều cần biết về bài kiểm tra thực tế, được trình bày trong các bài học ngắn.

Bài học 1

Bài kiểm tra thực tế thường có dạng như thế nào

Không có một bài kiểm tra lập trình JavaScript duy nhất. Mỗi nhà tuyển dụng chọn một nền tảng kiểm tra, sau đó tự đặt câu hỏi, số lượng bài tập, giới hạn thời gian và các ngôn ngữ được phép sử dụng. Thư mời kiểm tra là nguồn thông tin đáng tin cậy nhất về bài kiểm tra của bạn. Các ví dụ công khai cho thấy bài kiểm tra có thể khác nhau như thế nào:

  • HackerRank. HackerRank liệt kê bài kiểm tra kỹ năng JavaScript (Basic) gồm 2 câu hỏi trong 1 giờ 30 phút, bao gồm các chủ đề như hàm (HackerRank). Trung tâm trợ giúp liệt kê các dạng câu hỏi nhà tuyển dụng có thể đưa vào bài kiểm tra, gồm lập trình, trắc nghiệm, HTML/CSS/JavaScript, nhà phát triển front-end, đánh giá mã và câu hỏi tự luận; đồng thời cho biết nhà tuyển dụng có thể chọn câu hỏi từ thư viện của HackerRank hoặc tự viết câu hỏi (HackerRank Help).
  • TestGorilla. Trang bài kiểm tra lập trình JavaScript của TestGorilla cho biết mỗi bài kiểm tra kéo dài từ 15 đến 45 phút, liệt kê bài kiểm tra thuật toán cấp độ đầu vào kéo dài 15 phút, cho biết ứng viên làm bài trong trình soạn thảo trực tuyến và nhà tuyển dụng chọn các ngôn ngữ có thể sử dụng (TestGorilla).

Các phần thường được nhắc đến trong bài kiểm tra JavaScript của nhà tuyển dụng:

  • Bài tập lập trình: viết một hàm trong trình soạn thảo trực tuyến, chạy thử với dữ liệu đầu vào mẫu, sau đó nộp bài để kiểm tra với các trường hợp thử nghiệm khác mà bạn có thể không nhìn thấy.
  • Trắc nghiệm: các khái niệm JavaScript, kết quả được ghi ra bởi một đoạn mã và đoạn mã nào là chính xác.
  • Gỡ lỗi hoặc đánh giá mã: tìm và sửa lỗi trong đoạn mã do người khác viết.
  • Đôi khi có thêm: tạo hoặc sửa một trang web, một dự án front-end hoặc back-end lớn hơn, bài tập làm tại nhà, hoặc giám sát qua webcam và màn hình trong khi làm bài.

Nội dung trong các bài thi thử của chúng tôi. Các bài thi thử đầy đủ có 20 câu hỏi trong 60 phút, gồm bốn phần: khái niệm JavaScript (6), kết quả được ghi ra khi chạy mã (6), tìm lỗi (5) và xây dựng lời giải (3). Tất cả mã đều dùng JavaScript hiện đại chạy trên Node.js, không có mã trình duyệt hoặc framework. Bạn có thể quay lại, đổi câu trả lời và đánh dấu câu hỏi cho đến khi nộp bài. Bài thi thử giúp bạn luyện đọc, lần theo luồng chạy, gỡ lỗi và chọn mã. Bài thi không chạy đoạn mã do bạn viết. Nhiều bài đánh giá thực tế yêu cầu bạn viết mã chạy với các trường hợp thử nghiệm ẩn. Phần luyện tập này giúp bạn phát triển kỹ năng đọc, lần theo luồng chạy và gỡ lỗi cần thiết, vì vậy hãy luyện thêm có tính giờ trong một trình soạn thảo thực tế. Bài thi thử của chúng tôi cũng không bao gồm các bài tập dự án front-end, back-end hoặc full-stack, giám sát thi, kiểm tra đạo văn, phỏng vấn qua video, bài tập làm tại nhà hoặc điểm đạt do nhà tuyển dụng quy định.

Bài học 2

Các dạng câu hỏi kèm ví dụ có lời giải

Mỗi phần có một ví dụ được giải thích, kèm theo lỗi dễ mắc nhất.

1. Các khái niệm JavaScript. let và var khác nhau như thế nào? let có phạm vi trong khối gần nhất, chẳng hạn như phần thân vòng lặp, và không thể được sử dụng trước khi dòng khai báo được thực thi. var có phạm vi trong toàn bộ hàm và được đưa lên đầu phạm vi, nên nó tồn tại với giá trị undefined trước dòng khai báo. Cạm bẫy: cho rằng const khiến đối tượng hoặc mảng không thể thay đổi. Từ khóa này chỉ ngăn tên biến được gán lại.

2. Kết quả được ghi vào nhật ký. console.log(typeof null, typeof []) ghi object object. Theo typeof, cả hai đều là đối tượng; hãy dùng Array.isArray để kiểm tra một giá trị có phải là mảng hay không. Với mã bất đồng bộ, hãy nhớ thứ tự: mã thông thường chạy trước, tiếp theo là các callback của promise, rồi đến bộ hẹn giờ. Cạm bẫy: hiểu setTimeout(fn, 0) là "chạy ngay". Hàm này luôn chờ cho đến khi mã hiện tại và các callback promise đang chờ hoàn tất.

3. Tìm lỗi. Một hàm trả về undefined thay vì tổng. Hãy tìm hàm mũi tên có dấu ngoặc nhọn nhưng không có return: (a, b) => { a + b } trả về undefined, trong khi (a, b) => a + b trả về tổng. Cạm bẫy: sửa dòng đầu tiên trông có vẻ bất thường. Hãy lần theo một đầu vào nhỏ trong mã và tìm dòng đầu tiên khiến giá trị bị sai.

4. Xây dựng giải pháp. Bạn cần tính tổng giá của giỏ hàng. items.reduce((sum, item) => sum + item.price, 0) sẽ thực hiện việc đó. Nếu thiếu 0 ở cuối, giỏ hàng rỗng sẽ gây ra TypeError. Cạm bẫy: chọn phương án chạy được với ví dụ nhưng không xử lý được các trường hợp biên. Hãy kiểm tra từng phương án với mảng rỗng, một phần tử, phần tử lặp lại và giá trị bị thiếu.

Bài học 3

Cách chuẩn bị

  1. Trước tiên, hãy đọc thư mời làm bài. Tìm hiểu bạn sẽ dùng nền tảng nào, có bao nhiêu nhiệm vụ, thời gian làm bài, bạn có thể chọn JavaScript hay không, bài thi có bao gồm nhiệm vụ front-end hay không, và bài thi có được giám sát hay không. Hình thức bài thi rất khác nhau, nên đừng mặc định.
  2. Thử khu vực luyện tập của nền tảng nếu có. Làm quen với trình soạn thảo, nút Run và cách hiển thị các trường hợp kiểm thử mẫu để giao diện không còn xa lạ vào ngày thi. Chẳng hạn, HackerRank hướng dẫn thí sinh nhấp Run để chạy các trường hợp kiểm thử trong khi làm bài (HackerRank Support).
  3. Tự lần theo mã bằng tay. Với các đoạn mã ngắn, hãy ghi lại giá trị của từng biến sau mỗi dòng. Với mã bất đồng bộ, lập ba danh sách: phần chạy ngay, các hàm gọi lại của promise và bộ hẹn giờ.
  4. Nắm các công cụ thường dùng. Mảng và các phương thức của mảng (map, filter, reduce, some, find, sort), đối tượng, Map và Set, chuỗi, destructuring, spread, template literals, async và await.
  5. Nghĩ đến các trường hợp biên trước khi nộp. Mảng và chuỗi rỗng, chỉ có một phần tử, giá trị lặp lại, null và undefined, số được cung cấp dưới dạng chuỗi. Các trường hợp kiểm thử ẩn thường kiểm tra chính những tình huống này.
  6. Luyện viết mã có bấm giờ. Bài thi mô phỏng giúp rèn kỹ năng đọc và gỡ lỗi. Hãy giải thêm một vài bài nhỏ trong trình soạn thảo thực tế có tính giờ để việc viết và chạy mã dưới áp lực trở nên quen thuộc.
  7. Luyện tập với tốc độ thực tế. Nếu bài thi của bạn giống ví dụ JavaScript (Basic) của HackerRank, 2 câu hỏi trong 1 giờ 30 phút tương đương khoảng 45 phút mỗi bài (HackerRank). Hãy làm bài thi mô phỏng đầy đủ có tính giờ để quen với việc phân bổ thời gian.
Bài học 4

Cách tính điểm thường gặp

Cách chấm điểm tùy thuộc vào nền tảng và nhà tuyển dụng. Không có thang điểm hay mức điểm đậu áp dụng chung. Câu hỏi lập trình thường được chấm tự động dựa trên các trường hợp kiểm thử. Dưới đây là hai mô tả công khai:

  • HackerRank cho biết câu hỏi lập trình được đánh giá bằng các trường hợp kiểm thử được xác định trước, nhằm đo lường tính chính xác và hiệu quả. Mỗi trường hợp kiểm thử có điểm riêng: mã vượt qua một trường hợp sẽ nhận toàn bộ điểm của trường hợp đó, còn mã không vượt qua sẽ nhận 0 điểm. Tổng điểm của câu hỏi là tổng điểm của các trường hợp đã vượt qua, vì vậy lời giải vượt qua một số trường hợp kiểm thử sẽ nhận được một phần điểm (Hỗ trợ HackerRank). Câu hỏi lập trình và trắc nghiệm được chấm tự động, trong khi câu hỏi HTML/CSS/JavaScript được chấm thủ công; câu hỏi front-end được chấm tự động nhưng khuyến nghị có thêm bước xem xét thủ công (Trợ giúp HackerRank).
  • TestGorilla mô tả cách chấm điểm dựa trên thứ hạng phần trăm và độ chính xác tổng thể, đồng thời cung cấp báo cáo thể hiện kết quả của từng trường hợp kiểm thử (TestGorilla).

Mỗi nhà tuyển dụng tự quyết định kết quả nào được xem là tốt, và nhiều nhà tuyển dụng xem xét cả mã của bạn chứ không chỉ điểm số.

Điểm luyện tập của chúng tôi là số câu hỏi do chúng tôi tạo ra mà bạn trả lời đúng, kèm phân tích theo từng phần để bạn biết nên tập trung vào đâu. Đây là điểm luyện tập, không phải điểm trong bài kiểm tra của bất kỳ nền tảng nào, và không dự đoán việc bạn có vượt qua bài kiểm tra hay không.

Bài học 5

Những lỗi thường gặp

  • Sắp xếp số mà không có hàm so sánh. [10, 9, 1].sort() sắp xếp theo dạng văn bản. Hãy dùng sort((a, b) => a - b).
  • Dùng == rồi bất ngờ vì chuyển đổi kiểu dữ liệu. Hãy ưu tiên === trừ khi có lý do để làm khác.
  • Quên rằng forEach không chờ. await bên trong hàm callback của forEach không tạm dừng hàm bên ngoài. Hãy dùng for...of hoặc Promise.all.
  • So sánh đối tượng hoặc mảng bằng ===. Hai đối tượng chỉ bằng nhau nếu chúng là cùng một đối tượng. Hãy so sánh những trường bạn cần.
  • Thay đổi mảng mà bạn muốn giữ nguyên. sort, reverse và splice thay đổi trực tiếp mảng. Nếu cần giữ mảng ban đầu, hãy sao chép trước bằng [...arr].
  • Chỉ kiểm tra ví dụ. Ví dụ hiển thị thường chạy đúng. Các trường hợp kiểm thử ẩn sẽ kiểm tra đầu vào rỗng, một phần tử, phần tử trùng lặp và đầu vào lớn.
  • Hết giờ vì một bài. Nếu bị mắc kẹt, hãy nộp một phiên bản đơn giản vượt qua một số trường hợp kiểm thử, chuyển sang bài khác rồi quay lại nếu còn thời gian.

Câu hỏi luyện tập do chúng tôi biên soạn, không phải câu hỏi thật hay bị rò rỉ. Bạn có thể hủy gói Monthly bất cứ lúc nào và yêu cầu hoàn tiền trong vòng 7 ngày nếu đã làm không quá một bài thi thử đầy đủ.

Câu hỏi thường gặp

Có một bài kiểm tra lập trình JavaScript tiêu chuẩn không?+

Không. Mỗi nhà tuyển dụng chọn nền tảng và tự quyết định câu hỏi, độ dài bài kiểm tra, thời gian làm bài và ngôn ngữ. Thư mời sẽ cho biết bài kiểm tra của bạn bao gồm những gì; một số nền tảng còn có khu vực luyện tập để bạn thử trước.

Các bài thi thử của bạn có chạy đoạn mã tôi viết không?+

Không. Bài thi thử của chúng tôi giúp bạn luyện đọc, theo dõi luồng chạy, gỡ lỗi và chọn mã JavaScript thông qua câu hỏi trắc nghiệm. Nhiều bài kiểm tra thực tế yêu cầu bạn viết mã để chạy với các trường hợp kiểm thử ẩn, vì vậy hãy luyện viết các chương trình nhỏ trong một trình soạn thảo thực tế.

Các bài thi thử của bạn có bài tập React, HTML hoặc CSS không?+

Không. Câu hỏi của chúng tôi sử dụng JavaScript hiện đại chạy trên Node.js, không có bài tập về trình duyệt, framework hay dự án giao diện người dùng. Nếu bài kiểm tra của bạn có những nội dung đó, hãy luyện tập riêng.

Tôi cần đạt điểm số bao nhiêu để vượt qua?+

Không có mức điểm đạt chung cho tất cả. Các nền tảng chấm câu hỏi lập trình dựa trên các ca kiểm thử, còn mỗi nhà tuyển dụng quyết định kết quả nào giúp bạn đi tiếp và thường cũng xem xét mã của bạn.

Đây có phải là câu hỏi thật trong bài kiểm tra JavaScript không?+

Không. Đây là các câu hỏi luyện tập nguyên bản do đội ngũ của chúng tôi biên soạn theo phong cách tương tự. Intellect Council không liên kết với HackerRank, TestGorilla hay bất kỳ nền tảng kiểm tra hoặc nhà tuyển dụng nào khác.

Nguồn

  1. HackerRank: Trang bài kiểm tra kỹ năng JavaScript (Basic), đã kiểm tra vào 2026-11-09
  2. Trợ giúp HackerRank: Các dạng câu hỏi trong bài kiểm tra HackerRank, đã kiểm tra vào 2026-11-09
  3. Trợ giúp HackerRank: Cách chấm điểm câu hỏi (tổng quan), đã kiểm tra vào 2026-11-09
  4. Hỗ trợ HackerRank: Câu hỏi lập trình, cách chấm điểm câu hỏi lập trình trong bài kiểm tra, đã kiểm tra vào 2026-11-09
  5. TestGorilla: bài kiểm tra lập trình JavaScript, đã kiểm tra vào 2026-11-09

Về trang này

Được viết và biên tập bởi đội ngũ Intellect Council. Lần rà soát gần nhất . Đọc chính sách biên tập của chúng tôi.

Xem tất cả 93 bài kiểm tra luyện tập

Bài thi thử đầy đủ có giới hạn thời gian và kèm giải thích.Mở khóa quyền truy cập đầy đủ
BÀI KIỂM TRA ĐANG ĐẾN GẦN. HÃY SẴN SÀNG.

Bước vào buổi kiểm tra với sự chuẩn bị tốt.
Hãy yên tâm rằng bạn đã cố gắng hết sức.

Luyện tập có tính giờ theo định dạng thực tế, với lời giải cho từng câu trả lời.

Bắt đầu bài kiểm tra luyện tập miễn phíHoặc xem các bài thi thử đầy đủ Bài mẫu miễn phí. Không cần tài khoản để bắt đầu.