Đề ôn · SDN301M
SDN301m Server-Side development with NodeJS, Express, MongoDB – Bộ ôn tập cuối kỳ số 2 (49 câu)
49 câu · Cuối kỳ · Summer 2024
49câu trong đề
SDN301Mmôn
Câu hỏi của đề
15/49 câuCòn 34
A
GETB
PUTC
SETD
POSTLời giải
Mở trang câu hỏi này →Phương thức nào yêu cầu máy chủ chấp nhận dữ liệu được bao gồm trong yêu cầu là một đối tượng/đại diện mới của tài nguyên được xác định bởi URI?
AThe forked process shares the event loop with the parent process
BA new VM instance is created and the two VM instances will be shared between the forked process and the parent process.
CThe forked process will have its own VM instance.
DThe forked process shares the same VM thread with the parent process
Lời giải
Mở trang câu hỏi này →Khi chạy mã lệnh require('child_process').fork('script.js'), chúng ta đang tạo một tiến trình con (child process) từ một tiến trình cha (parent process). Trong Node.js, khi tạo một tiến trình con bằng cách sử dụng hàm fork(), Node.js sẽ tạo một bản sao hoàn toàn của tiến trình cha, bao gồm cả bộ nhớ và các biến. Điều này có nghĩa là tiến trình con sẽ có một bộ nhớ và các biến riêng biệt, độc lập với tiến trình cha. Ngoài ra, tiến trình con cũng sẽ có một luồng thực thi (execution context) riêng biệt, độc lập với tiến trình cha. Điều này cho phép tiến trình con thực thi mã lệnh độc lập với tiến trình cha mà không ảnh hưởng đến tiến trình cha.
A
pop()B
key0C
uniqueQD
pushQLời giải
Mở trang câu hỏi này →Phương pháp này sẽ tạo một id duy nhất khi dữ liệu được đẩy vào. Khi dữ liệu được thêm vào danh sách, phương pháp sẽ tự động tạo một id duy nhất cho mỗi phần tử. Điều này giúp dễ dàng quản lý và theo dõi các phần tử trong danh sách. Ví dụ, khi sử dụng phương pháp này, bạn có thể dễ dàng xác định vị trí của một phần tử cụ thể trong danh sách dựa trên id của nó. Phương pháp này thường được sử dụng trong các ứng dụng cần quản lý và theo dõi dữ liệu một cách hiệu quả.
AEvery Node process runs in a single thread, and all the I/O work is run in that same thread
BEvery Node process gets four threads that it can share between its JavaScript VM and the event loop
CThe event loop Is single-threaded, but a JavaScript VM can use multiple threads
DJavaScript execution in Node js is single-threaded, but I/O operations are executed using multiple threads
Lời giải
Mở trang câu hỏi này →Node.js là một môi trường chạy JavaScript được thiết kế cho các ứng dụng web và mạng. Nó sử dụng một mô hình đa luồng (multi-threading) để xử lý các yêu cầu I/O (Input/Output) đồng thời. Điều này có nghĩa là mặc dù Node.js chạy trong một luồng duy nhất (single-threaded), nhưng nó có thể xử lý nhiều yêu cầu I/O khác nhau một cách đồng thời. Điều này giúp tăng hiệu suất và giảm thiểu thời gian chờ đợi. Mô hình này được thực hiện thông qua sự giúp đỡ của một vòng lặp (event loop) và một thư viện (libuv) để quản lý các yêu cầu I/O. Vì vậy, câu trả lời đúng là "JavaScript execution in Node js is single-threaded, but I/O operations are executed using multiple threads".
A
NodeEventB
EventsC
EventD
EventEmitterLời giải
Mở trang câu hỏi này →Để tạo và sử dụng các sự kiện tùy chỉnh trong Node.js, bạn cần sử dụng lớp Event. Tuy nhiên, lớp Event không được sử dụng rộng rãi trong thực tế. Thay vào đó, lớp EventEmitter được sử dụng phổ biến hơn. Lớp EventEmitter cung cấp các phương thức để tạo và phát các sự kiện, cũng như để đăng ký và hủy đăng ký các sự kiện. Nó cho phép bạn tạo các sự kiện tùy chỉnh và quản lý chúng một cách linh hoạt.
Acookie-parser
Bcookie
Creq.cookies
DAll the answers are wrong
Lời giải
Mở trang câu hỏi này →Để xác định cookie được gắn vào đối tượng yêu cầu từ client, chúng ta cần sử dụng một module hoặc phương thức cụ thể. Trong trường hợp này, có một số lựa chọn được đề xuất: "cookie-parser", "cookie", "req.cookies" và "Tất cả các đáp án đều sai". Để giải quyết vấn đề này, chúng ta cần hiểu rõ về cách thức hoạt động của từng lựa chọn. "cookie-parser" là một module được sử dụng để giải mã và phân tích cookie trong yêu cầu HTTP. Nó cho phép chúng ta truy cập vào giá trị cookie thông qua phương thức req.cookies. "cookie" có thể là một module hoặc một phương thức khác, nhưng nó không phải là phương thức chính thức để truy cập cookie trong Express.js. "req.cookies" là một phương thức được cung cấp bởi Express.js để truy cập vào cookie trong yêu cầu HTTP. Vì vậy, phương thức chính thức và đúng đắn nhất để giải quyết vấn đề này là "req.cookies" hoặc "cookie-parser".
AhasMethod()
BhasDoc()
ChasNext()
DAll of the mentioned
Lời giải
Mở trang câu hỏi này →Để xác định xem con trỏ (cursor) có chứa tài liệu (document) hay không, chúng ta có thể sử dụng một số phương thức khác nhau. Phương thức 'hasDoc()' là một trong những phương thức phổ biến được sử dụng để kiểm tra xem con trỏ có chứa tài liệu hay không. Phương thức này sẽ trả về giá trị 'true' nếu con trỏ có chứa tài liệu và ngược lại. Ngoài ra, chúng ta cũng có thể sử dụng phương thức 'hasNext()' để kiểm tra xem con trỏ có chứa tài liệu tiếp theo hay không. Tuy nhiên, phương thức 'hasMethod()' không liên quan trực tiếp đến việc kiểm tra con trỏ có chứa tài liệu hay không. Vì vậy, phương thức 'hasDoc()' là phương thức chính xác nhất trong trường hợp này.
Aing any HTML methods
BKeeping old versions of APIs available
Cing custom API error codes
DProviding state information to apps
Lời giải
Mở trang câu hỏi này →Khi phát triển các API RESTful, các nhà phát triển cần chú ý đến một số thói quen có thể gây ra vấn đề. Thói quen đầu tiên là việc 'ing any HTML methods' (sử dụng các phương thức HTML không phù hợp). Điều này có thể dẫn đến các vấn đề về bảo mật và không tuân thủ các nguyên tắc của API RESTful. Thói quen thứ hai là 'Keeping old versions of APIs available' (giữ các phiên bản cũ của API có sẵn). Điều này có thể gây ra các vấn đề về bảo trì và bảo mật, vì các phiên bản cũ có thể chứa các lỗ hổng bảo mật chưa được sửa chữa. Thói quen thứ ba là 'ing custom API error codes' (sử dụng các mã lỗi API tùy chỉnh). Điều này có thể gây ra các vấn đề về khả năng tương thích và bảo mật. Cuối cùng, thói quen 'Providing state information to apps' (cung cấp thông tin trạng thái cho các ứng dụng) có thể gây ra các vấn đề về bảo mật và không tuân thủ các nguyên tắc của API RESTful. Vì vậy, nhà phát triển cần tránh các thói quen này để đảm bảo sự an toàn và hiệu suất của API RESTful.
AAnetwork layer, like an API gateway
BAsecurity setup, like identity and access management
CAn underlying standard, like OpenAPI
DAn interpreted code language, like Python
Lời giải
Mở trang câu hỏi này →Để giúp các nhà phát triển phối hợp quy trình tạo mã API, chúng ta cần có một tiêu chuẩn chung. Tiêu chuẩn này sẽ cung cấp một ngôn ngữ chung để mô tả API, giúp dễ dàng tạo và quản lý mã API. Một trong những tiêu chuẩn phổ biến nhất là OpenAPI. OpenAPI là một ngôn ngữ mô tả API được sử dụng rộng rãi trong ngành công nghiệp phần mềm. Nó cho phép các nhà phát triển mô tả cấu trúc và chức năng của API một cách rõ ràng, giúp dễ dàng tạo mã API và tích hợp với các hệ thống khác. Ngoài ra, OpenAPI cũng cung cấp các công cụ và công nghệ để tự động tạo mã API dựa trên mô tả API, giúp giảm thiểu thời gian và công sức cần thiết để tạo mã API.
ACreate a functional view of the related application
BPut API usage monitoring in place
CChoose either an API proxy or an API gateway
DAll the answers are wrong
Lời giải
Mở trang câu hỏi này →Bước đầu tiên hợp lý nhất trong một dự án phát triển API là tạo một bản xem xét chức năng liên quan đến ứng dụng. Điều này có nghĩa là bạn cần tạo một bản thiết kế tổng quan về cách ứng dụng sẽ hoạt động, bao gồm các chức năng, giao diện người dùng và quy trình xử lý dữ liệu. Việc này sẽ giúp bạn hiểu rõ về yêu cầu của dự án và có thể tạo ra một kế hoạch phát triển API hiệu quả. Sau đó, bạn có thể bắt đầu xây dựng API và đảm bảo rằng nó đáp ứng được các yêu cầu đã được xác định. Việc tạo bản xem xét chức năng cũng giúp bạn tránh được các sai lầm và cải thiện hiệu suất của dự án.
11How many types of Firebase Database Rule?3 lựa chọn
A2
B3
C5 Toten Oh HUES fa Ady a SOL aa VPN Tae Meannene sot any paere: acne
Lời giải
Mở trang câu hỏi này →Firebase Database Rule có hai loại chính. Loại đầu tiên là Rule cơ bản, cho phép bạn kiểm soát quyền truy cập vào dữ liệu của ứng dụng. Bạn có thể thiết lập các quy tắc để cho phép hoặc chặn truy cập vào dữ liệu dựa trên các điều kiện như ID người dùng, địa điểm, v.v. Loại thứ hai là Rule nâng cao, cho phép bạn thiết lập các quy tắc phức tạp hơn để kiểm soát quyền truy cập vào dữ liệu. Ví dụ, bạn có thể thiết lập các quy tắc để cho phép truy cập vào dữ liệu chỉ khi người dùng đã đăng nhập và có quyền truy cập phù hợp.
12What is the Node LTS version?4 lựa chọn
AIt is the current unstable version and is to be avoided
BItis the version that will be retired soon
CItis the version with the latest features
DItis the safest version for long-term support -° Popes, Te ay SEMEL BaD De PDEA UP Toh
Lời giải
Mở trang câu hỏi này →LTS (Long Term Support) là phiên bản Node.js được hỗ trợ trong thời gian dài. Nó được phát triển và bảo trì bởi cộng đồng Node.js và được đảm bảo sẽ nhận được các bản cập nhật bảo mật và tính năng trong một khoảng thời gian nhất định. Phiên bản LTS thường được xem là phiên bản an toàn và ổn định nhất, phù hợp cho các ứng dụng và dự án cần bảo đảm sự ổn định và an toàn trong thời gian dài. Nó không phải là phiên bản mới nhất với các tính năng mới nhất, nhưng nó đã được kiểm tra và thử nghiệm kỹ lưỡng để đảm bảo sự ổn định và an toàn.
13What is the purpose of the path module?4 lựa chọn
Ato provide utilities to play with file and directory paths
Bto provide utilities to add and remove files
CItis a retiring module
Dto provide utilities to test files
Lời giải
Mở trang câu hỏi này →Mô-đun path trong Node.js cung cấp một tập hợp các tiện ích để làm việc với đường dẫn file và thư mục. Các tiện ích này bao gồm việc tạo, kiểm tra, và thao tác với đường dẫn file và thư mục. Ví dụ, bạn có thể sử dụng path.join() để kết hợp các phần của đường dẫn file thành một đường dẫn hoàn chỉnh, hoặc sử dụng path.resolve() để giải quyết đường dẫn file tuyệt đối. Mô-đun path cũng cung cấp các tiện ích để kiểm tra tính hợp lệ của đường dẫn file và thư mục, cũng như để thao tác với các thành phần của đường dẫn file và thư mục.
14What does RAML stand for?4 lựa chọn
AReusable API Markup Listing
BRESTful API Mobile Language
CREST Application Modeling Language
DRESTful API Modeling Language
Lời giải
Mở trang câu hỏi này →RAML là viết tắt của từ RESTful API Modeling Language. Đây là một ngôn ngữ mô hình hóa API được thiết kế để giúp các nhà phát triển tạo ra các mô hình API dễ dàng và thống nhất. RAML cho phép các nhà phát triển mô tả các API của họ bằng cách sử dụng các mô hình và các thành phần khác nhau, bao gồm các phương thức HTTP, các đầu vào và đầu ra, và các thuộc tính khác. Điều này giúp các nhà phát triển khác dễ dàng hiểu và sử dụng các API được tạo ra bằng RAML. Ngoài ra, RAML cũng hỗ trợ các tính năng như kiểm tra tính hợp lệ và tạo tài liệu API tự động, giúp giảm thiểu thời gian và công sức trong quá trình phát triển và bảo trì API.
A
LB
hashC
cryptoD
TLSLời giải
Mở trang câu hỏi này →Module crypto trong Node.js cung cấp các lớp và hàm để mã hóa dữ liệu. Nó bao gồm các lớp và hàm để mã hóa và giải mã dữ liệu, tạo và quản lý khóa, cũng như các hàm để tạo và quản lý chứng chỉ. Các lớp và hàm trong module crypto được xây dựng trên các phương thức của OpenSSL, một thư viện mã hóa mã nguồn mở.