wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Trắc nghiệm PTUD Web

Total questions: 75

Worksheet time: 39mins

Name
Class
Date
1.

Bạn hiểu thế nào là ứng dụng trang đơn (SPA)?

a)

Server chỉ trả về một trang tài liệu HTML duy nhất và hầu như không đổi nội dung. Tuỳ theo đường dẫn yêu cầu mà nội dung trang tài liệu HTML sẽ được kết xuất phía client

b)

Ứng dụng mỗi lần chỉ hiển thị được một giao diện duy nhất

c)

Ứng dụng chỉ có một trang giao diện duy nhất

d)

Tất cả đều đúng

2.

Tuỳ chọn upsert trong các phương thức như replaceOne, updateOne, updateMany của thư viện mongodb mặc nhiên sẽ tự động cập nhật tài liệu nếu nó đã tồn tại trong cơ sở dữ liệu hoặc thêm mới nếu chưa tồn tại?

a)

Đúng

b)

Sai

3.

Cho định nghĩa của một component như hình. Khi người dùng click vào button 3 lần thì giá trị hiển thị trên button sẽ là bao nhiêu?

a)

2

b)

5

c)

0

d)

8

4.

Ứng dụng trang đơn hay còn gọi là?

a)

Kết xuất phía máy chủ (Server-side rendering)

b)

Kết xuất phía máy khách (Client-side rendering)

c)

Kết xuất phía máy chủ và máy khách (Isomorphic/Universal)

5.

Trong các phương thức xác thực sau, phương pháp nào hoạt động bằng cách uỷ quyền xác thực cho một máy chủ uỷ quyền?

a)

HTTP Basic Authentication

b)

JWT (JSON Web Tokens)

c)

OAuth 2.0 (Open Authorization)

6.

Phương thức HTTP nào sau đây cập nhật một phần tài nguyên?

a)

POST

b)

PUT

c)

PATCH

d)

GET

7.

Phát biểu nào sau đây là ĐÚNG về tập tin package.json?

a)

Chúng được sử dụng như một bản kê khai thông tin ứng dụng, các modules, thư viện và nhiều thứ khác được sử dụng trong ứng dụng của chúng ta

b)

Chúng chỉ có thể sử dụng cho các ứng dụng client-server có trao đổi dữ liệu JSON

c)

Chúng không được khuyến khích sử dụng vì chúng luôn tham chiếu đến phiên bản mới nhất của một gói thư viện npm

d)

Tất cả đều sai

8.

Phát biểu nào sau đây là ĐÚNG về tập tin package.json?

a)

Chúng cung cấp một cách để sử dụng một phiên bản cụ thể của một gói thư viện npm

b)

Chúng chỉ có thể sử dụng cho các ứng dụng client-server có trao đổi dữ liệu JSON

c)

Chúng không được khuyến khích sử dụng vì chúng luôn tham chiếu đến phiên bản mới nhất của một gói thư viện npm

d)

Chúng luôn được cần thiết để chạy một ứng dụng Node.js có phụ thuộc vào một gói thư viện Node.js nói chung

9.

Giả sử prop và event trong các câu trả lời bên dưới lần lượt là thuộc tính và sự kiện của một component, directive v-bind và v-on trong Vue.js giúp liên kết thuộc tính và xử lý sự kiện có cú pháp viết gọn đơn giản lần lượt là?

a)

:prop và $event

b)

$prop và $$event

c)

:prop và @event

d)

@prop và $event

10.

Phát biểu nào sau đây là ĐÚNG về WebSocket?

a)

Server có thể gửi dữ liệu cho client mà không cần client phải thực hiện yêu cầu trước

b)

Là một giao thức truyền thống cho phép tạo phiên kết nối tương tác hai chiều (full-duplex) giữa client và server bằng cách sử dụng một TCP socket

c)

Kết nối giữa máy khách và máy chủ sẽ tiếp tục tồn tại cho đến khi nó bị một bên nào đó chấm dứt

11.

Từ nào dưới đây viết tắt cho ứng dụng trang đơn?

a)

SPA

b)

SSR

c)

SAP

d)

APS

12.

Phát biểu nào sau đây là SAI khi nói về HTTP API?

a)

Là một công nghệ

b)

Cung cấp các endpoint dưới dạng cổng HTTP

c)

Được truy xuất thông qua giao thức HTTP

d)

Dễ dàng tích hợp với nhiều ứng dụng và dịch vụ khác nhau

13.

Cho API server Node.js chạy trên localhost cổng 3000, ứng dụng Vue.js chạy trên localhost cổng 3001 giao tiếp với API server. Phát biểu nào sau đây là ĐÚNG?

a)

Chính sách CORS của trình duyệt không được áp dụng cho giao tiếp giữa ứng dụng Vue.js và API server do cùng chạy trên localhost

b)

Chính sách CORS của trình duyệt không được áp dụng cho giao tiếp giữa ứng dụng Vue.js và API server do cùng sử dụng ngôn ngữ JavaScript

c)

Chính sách CORS của trình duyệt được áp dụng cho giao tiếp giữa ứng dụng Vue.js và API server do khác cổng

d)

Chính sách CORS của trình duyệt được áp dụng cho giao tiếp giữa ứng dụng Vue.js và API server do API server dùng Node.js

14.

Phương thức nào sau đây KHÔNG phải là hook trong chu trình (life cycle) của ứng dụng Vue.js?

a)

mounted

b)

created

c)

beforeCreate

d)

didMount

15.

Trong thông điệp phản hồi (HTTP response), giá trị 3xx của mã trạng thái (status code) trong dòng trạng thái báo cho biết kiểu trạng thái là:

a)

Success

b)

Server Error

c)

Client Error

d)

Redirection

16.

Trong thông điệp phản hồi (HTTP response), giá trị 2xx của mã trạng thái (status code) trong dòng trạng thái báo cho biết kiểu trạng thái là:

a)

Success

b)

Server Error

c)

Client Error

d)

Redirection

17.

Trong thông điệp phản hồi (HTTP response), giá trị 4xx của mã trạng thái (status code) trong dòng trạng thái báo cho biết kiểu trạng thái là:

a)

Success

b)

Server Error

c)

Client Error

d)

Redirection

18.

Trong thông điệp phản hồi (HTTP response), giá trị 5xx của mã trạng thái (status code) trong dòng trạng thái báo cho biết kiểu trạng thái là:

a)

Success

b)

Server Error

c)

Client Error

d)

Redirection

19.

Khái niệm collection trong cơ sở dữ liệu MongoDB tương ứng với khái niệm nào sau đây trong cơ sở dữ liệu quan hệ?

a)

cell

b)

table

c)

row

d)

column

20.

Directive nào trong Vue.js thực hiện tạo phần tử DOM dựa trên điều kiện?

a)

v-switch

b)

v-on

c)

v-model

d)

v-if

21.

Directive v-bind có cú pháp đơn giản là?

a)

#

b)

:

c)

@

d)

?

22.

Trong một địa chỉ URL, kí hiệu nào bắt đầu tham số (parameters)?

a)

:

b)

://

c)

#

d)

?

23.

Xét định nghĩa route sau đây:
app.get("/contacts/:id", function(res,req) {...} );

Tham số route (id) được lưu trữ trong đối tượng nào?

a)

req.data

b)

req.params

c)

app.locals

d)

app.params

24.

Phát biểu nào sau đây là SAI về Node.js?

a)

Node.js sử dụng thư viện LibUv xử lý tác vụ kiểu non-blocking

b)

Node.js được viết bằng C++

c)

Node.js gắn liền với Google Chrome V8 Engine

d)

Node.js là một ứng dụng sử dụng V8 để biên dịch JavaScript và xử lý tác vụ kiểu non-blocking

25.

Phát biểu nào sau đây là SAI về Node.js?

a)

Được xây dựng dựa trên nền tảng V8 JavaScript engine và thư viện libuv

b)

Node.js là một JavaScript runtime được viết bằng C++ và có thể biên dịch và thực thi JavaScript

c)

Hỗ trợ một bộ thư viện JavaScript hữu ích để tạo các chương trình máy chủ

d)

Sử dụng thư viện V8 để truy cập vào hệ điều hành máy, mạng, hệ thống tệp và các hoạt động I/O không đồng bôk

26.

"Kiểm tra các yêu cầu HTTP và lưu môi trường để sử dụng sau này, chuyển đổi API thành mã cho các ngôn ngữ khác nhau" là chức năng của:

a)

VSCode

b)

Postman

c)

Node.js

d)

Express.js

27.

Định dạng dữ liệu phổ biến nhất được sử dụng cho HTTP/REST API là?

a)

JSON

b)

TXT

c)

XML

d)

CSV

28.

Dùng header nào sau đây để chỉ định dạng dữ liệu trong yêu cầu HTTP là JSON?

a)

Content-Type: application/json

b)

Content-Type: json

c)

Request Format: application/json

d)

Data Format: json

29.

Với Vue.js, khai báo nào sau đây liên kết hàm xử lý sự kiện click lên thẻ <a> đồng thời không cho phép hành xử mặc định của thẻ <a> xảy ra?

a)

<a v-on:click.stop="dotask">Click me!</a>

b)

<a v-on:click.passive="dotask">Click me!</a>

c)

<a v-on:click.prevent="dotask">Click me!</a>

d)

<a v-on:click.once="dotask">Click me!</a>

30.

Cổng mặc định của MongoDB:

a)

27017

b)

21707

c)

27107

d)

20717

31.

Khi bạn nhập URL vào trình duyệt, bước đầu tiên xảy ra là gì?

a)

Hệ điều hành gửi request

b)

Trình duyệt tạo HTTP GET request

c)

Server phân tích thông điệp

d)

Server trả về HTTP response

32.

Socket trong lập trình server dùng để làm gì?

a)

Lưu dữ liệu tạm thời

b)

Thay thế toàn bộ HTTP

c)

Gửi và nhận thông điệp từ OS

d)

Chạy JavaScript trên trình duyệt

33.

Thành phần nào trong URL biểu thị domain và port?

a)

Path

b)

Scheme

c)

Authority

d)

Anchor

34.

URL luôn trỏ đến file trên server. Đúng hay sai?

a)

Đúng

b)

Sai

35.

API endpoint có đặc điểm nào sau đây?

a)

Luôn trả về file tĩnh

b)

Đại diện một request được tham số hóa

c)

Không thể chứa query parameters

d)

Chỉ dùng cho HTTP POST

36.

Một API URL luôn bao gồm 2 phần chính là:

a)

Authority và Fragment

b)

Base URL và Endpoint

c)

Path và Anchor

d)

Scheme và Port

37.

V8 trong NodeJS có vai trò chính là gì?

a)

Xử lý I/O bất đồng bộ

b)

Thông dịch & biên dịch JavaScript

c)

Tạo HTTP response

d)

Quản lý socket

38.

Phát biểu nào sau đây là SAI?

a)

JavaScript runtime là nơi JavaScript được thực thi

b)

Thành phần libuv NodeJS được viết 100% bằng C

c)

Mục đích chính của NodeJS API là biên dịch JavaScript thành C++

d)

NodeJS có thể xử lý bất đồng bộ tốt là do Do libuv quản lý event loop & thread pool

39.

Trong ví dụ API https://api.example.com/v1/users, phần /users là gì?

a)

Base URL

b)

Scheme

c)

Endpoint

d)

Authority

40.

Thành phần nào cho phép chạy JavaScript ngoài trình duyệt?

a)

Socket

b)

Libuv

c)

V8

d)

Anchor

41.

Module fs, http, path, crypto thuộc nhóm gì trong NodeJS?

a)

Các thư viện phía client

b)

NodeJS API

c)

Phân mảnh của URL

d)

Socket extensions

42.

NodeJS nằm ở đâu trong sơ đồ hoạt động?

a)

Ở mức cao nhất, thay thế hoàn toàn V8

b)

Ở giữa, cung cấp API để truy cập libuv và V8

c)

Ở dưới cùng, trực tiếp xử lý I/O

d)

Ở phía client trong trình duyệt

43.

Phương thức nào dưới đây dùng để đọc file một cách đồng bộ trong Node.js?

a)

fs.readFileSync()

b)

fs.readFile()

c)

fs.read()

d)

fs.readAsync()

44.

Phương thức nào dưới đây dùng để chuyển đổi dữ liệu JSON trong Node.js?

a)

JSON.parse

b)

JSON.stringify

c)

JSON.encode

d)

JSON.decode

45.

Module nào được sử dụng để làm việc với đường dẫn tệp theo cách tương thích trên nhiều hệ điều hành?

a)

os

b)

path

c)

fs

d)

url

46.

Đâu không phải là cách hợp lệ để đọc biến môi trường trong Node.js?

a)

process.env.VARIABLE_NAME

b)

const { VARIABLE_NAME } = process.env

c)

process.getEnv('VARIABLE_NAME')

d)

process.env['VARIABLE_NAME']

47.

Phát biểu nào sau đây là ĐÚNG?

a)

HTTP gồm những loại thông điệp Request và Callback

b)

Phương thức HTTP nào được xem là an toàn và luỹ đẳng

c)

Thành phần không bắt buộc trong HTTP request là Method

d)

URI dùng để truyền dữ liệu

48.

Một dạng của URI có thêm cách truy cập tài nguyên là?

a)

URN

b)

URL

49.

JWT gồm những phần nào?

a)

Header

b)

Payload

c)

Signature

d)

Token

50.

Các HTTP Method có tính chất Idempotent (luỹ đẳng):

a)

DELETE

b)

GET

c)

PUT

d)

PATCH

e)

POST

51.

API trả về mã trạng thái 201 khi nào?

a)

Truy vấn thành công

b)

Tạo mới thành công

c)

Một phần thành công

d)

Không thành công

52.

REST là viết tắt cho:

a)

REpresentational State Transfer

b)

REusable State Transfer

c)

REpresentational Station Transfer

d)

REusable Station Transfer

53.

Phát biểu nào sau đây là ĐÚNG?

a)

Tất cả URI đều là URL

b)

URN là một kiểu URI không chỉ đặc tả tài nguyên mà còn cho biết cách để truy cập trên Internet

c)

Luỹ đẳng là trạng thái của server có sự khác biệt dù một yêu cầu gửi đến server một lần hay nhiều lần

d)

HATEOAS nghĩa là:

server gửi thêm URL liên quan để client tự điều hướng tiếp theo sang tài nguyên khác

54.

Phát biểu nào sau đây là SAI?

a)

OAuth2 là cơ chế xác thực người dùng

b)

JWT token có thể hết hạn

c)

Trong REST, mỗi tài nguyên phải được nhận dạng qua URI

d)

Uỷ quyền thường được thực hiện sau khi xác thực thành công

55.

Cách nào dưới đây là ĐÚNG khi khai báo một thuộc tính private trong class của một chương trình JavaScript?

a)

#privateField

b)

_privateField

c)

@privateField

d)

%privateField

56.

Ví dụ nào dưới đây là không đúng khi khai báo hàm trong JavaScript?

a)

function myFunction(params) {}

b)

const myFunction = function (params) {}

c)

const myFunction = (params) => {}

d)

Function myFunction(params) {}

57.

Cho đoạn code như hình. Hãy cho biết kết quả in ra console.

a)

5, 8

b)

8, 8

c)

NaN, 8

d)

undefined, 8

58.

Hàm nào dưới đây là anonymous function?

a)

function greet() { return "Hi"; }

b)

const greet = function() { return "Hi"; };

c)

function greet(name) { return name; }

d)

function sayHi() {}

59.

"Kỹ thuật biến một hàm nhận nhiều tham số thành chuỗi các hàm, mỗi hàm chỉ nhận một tham số duy nhất và trả về một hàm mới cho đến khi đủ tham số để thực thi." là định nghĩa của khái niệm nào?

a)

currying

b)

anonymous function

c)

arrow function

d)

closure

60.

Các trạng thái có thể của một Promise?

a)

pending

b)

fulfilled

c)

rejected

d)

success

61.

Thuộc tính result của Promise không có giá trị nào dưới đây?

a)

undefined

b)

value

c)

error

d)

success

62.

Sự khác biệt cơ bản giữa Promise.all() và Promise.allSettled() là gì?

a)

Promise.all() đợi tất cả promise hoàn thành; Promise.allSettled() chỉ đợi promise thành công.

b)

Promise.all() bị reject ngay khi có 1 promise reject; Promise.allSettled() luôn đợi tất cả promise settle rồi mới trả về

c)

Promise.all() chỉ nhận promise fulfilled; Promise.allSettled() chỉ nhận promise rejected.

d)

Cả hai đều dừng lại khi gặp promise rejected.

63.

Điều nào sau đây luôn luôn đúng về hàm có từ khóa async?

a)

Sẽ chạy bất đồng bộ song song

b)

Luôn trả về một Promise

c)

Không thể return giá trị thường

d)

Chỉ chạy được nếu có await

64.

Destructuring của mảng gán giá trị dựa trên:

a)

Tên phần tử

b)

Loại dữ liệu

c)

Vị trí trong mảng

d)

Thuộc tính của object

65.

Destructuring của object gán giá trị dựa trên:

a)

Vị trí khai báo

b)

Tên thuộc tính

c)

Chỉ số index

d)

Kiểu dữ liệu

66.

Phát biểu nào sau đây là đúng về array destructuring?

a)

Có thể đổi tên biến khi destructuring

b)

Không thể dùng giá trị mặc định

c)

Có thể bỏ qua phần tử bằng dấu phẩy

d)

Mảng phải có đủ số phần tử

67.

Phát biểu nào sau đây là sai về array destructuring?

a)

thuộc tính không tồn tại sẽ được gán giá trị undefined

b)

có thể đổi tên biến dùng cú pháp oldName: newName

c)

khi destructuring object, bạn bắt buộc phải gán tất cả thuộc tính có trong object

d)

Cú pháp const { a: { b } } = obj là cú pháp hợp lệ để lấy thuộc tính lồng nhau trong object

68.

Phát biểu nào dưới đây là ĐÚNG?

a)

Alias cho phép bạn đổi tên thuộc tính của object.

b)

Trong dynamic property name, key phải được biết tại thời điểm viết mã.

c)

Dynamic property name không yêu cầu biểu thức trong [] phải tạo ra một string key hợp lệ.

d)

Dynamic property name cho phép dùng biến làm key khi destructuring.

69.

Phát biểu nào dưới đây là sai khi nói về sự khác biệt giữa Spread và Rest operator?

a)

Spread trải giá trị, còn Rest thu gom giá trị

b)

Spread trả về các phần tử riêng lẻ, Rest trả về một mảng/object chứa phần còn lại

c)

Spread sử dụng ở bên trái dấu bằng, Rest sử dụng ở bên phải dấu bằng

d)

Spread không dùng để Destructive

70.

Cú pháp db.collection.find(query, projection) cho biết projection có vai trò gì?

a)

Chỉ định điều kiện lọc

b)

Quy định thứ tự sắp xếp

c)

Xác định các field sẽ được hiển thị trong kết quả

d)

Tạo index cho truy vấn

71.

Để lấy document có field x bằng "foo", ta sử dụng:

a)

db.collection.find({ x == "foo" })

b)

db.collection.find("x:foo")

c)

db.collection.find({ x: "foo" })

d)

find collection where x="foo"

72.

v-slot trong Vue.js có cú pháp viết gọn đơn giản là:

a)

@

b)

$

c)

#

d)

:

73.

Cú pháp directive trong Vue.js:

a)

name - argument - modifiers - value

b)

name - value - modifiers - argument

c)

name - modifiers - argument - value

d)

name - argument - value - modifiers

74.

Cho đoạn code như hình. Hãy cho biết ý nghĩa của nó

a)

Không nên dùng v-if và v-on trong cùng một phần tử

b)

Nên dùng v-if và v-on trong cùng một phần tử

c)

Không nên sử dụng <li> bên ngoài <ul> hoặc <ol>

d)

Nên sử dụng <li> bên ngoài <ul> hoặc <ol>

75.

Phát biểu nào sau đây là SAI?

a)

computed() có cache, methods() thì không.

b)

watch() dùng để tạo giá trị mới hiển thị trong template.

c)

methods() chạy lại mỗi lần component re-render.

d)

watch() có thể lấy cả giá trị cũ và mới.