Cuối kỳ · SDN301m · Summer 2024

Ôn tập cuối kỳ SDN301m Summer 2024

49 câu gom từ 1 đề ôn của kỳ Summer 2024.

Đề gốc

Bấm để làm trọn một đề thay vì tra từng câu

49 câu hỏi

Trang 2 / 3
Afunction insertData(dbName, colName, num) { ar col = db.getSiblingDB(dbName).getCollection(colName); for (i = 0; i < num; i++) col.insert({x:i}); print(col.count()); }
Bfunction insertData(dbName, colName, num) { var col = db.getSiblingDB(dbName).getCollection(colName); for (i = 0; i < num; i++) t vclinsert(bciy print(col.count()); }
CinsertData(dbName, colName, num) { var col = db.getSiblingDB(dbName).getCollection(colName); for (i = 0; i < num; i++) col.insert({x:i}); ny en nes. tae vy }
Lời giải

Để tạo mới dữ liệu trong MongoDB Shell, chúng ta cần sử dụng hàm insertData. Hàm này có thể được sử dụng để thêm nhiều bản ghi vào một collection. Ví dụ, nếu chúng ta muốn thêm 10 bản ghi vào collection 'users' trong cơ sở dữ liệu 'mydb', chúng ta có thể sử dụng hàm insertData như sau: function insertData(dbName, colName, num) {

Lời giải
var col = db.getSiblingDB(dbName).getCollection(colName);
for (i = 0; i < num; i++) col.insert({
  x:i
}

); print(col.count()); } insertData('mydb', 'users', 10); Hàm insertData sẽ tạo mới 10 bản ghi với giá trị 'x' từ 0 đến 9 và in ra tổng số bản ghi trong collection 'users'.

Mở trang câu hỏi này →
What 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
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.
Mở trang câu hỏi này →
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ô-đ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.
Mở trang câu hỏi này →
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
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.
Mở trang câu hỏi 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
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.
Mở trang câu hỏi này →
MongoDB stores all documents in4 lựa chọn
ATables
BCollections
CRows
DAll of the mentioned
Lời giải
MongoDB là một hệ quản trị cơ sở dữ liệu NoSQL, nó lưu trữ dữ liệu dưới dạng các tài liệu (documents) thay vì các bảng (tables) như trong cơ sở dữ liệu quan hệ. Mỗi tài liệu trong MongoDB có thể có cấu trúc khác nhau và có thể chứa nhiều loại dữ liệu khác nhau. Các tài liệu trong MongoDB được lưu trữ trong các tập hợp (collections), mỗi tập hợp có thể chứa nhiều tài liệu khác nhau. Vì vậy, câu trả lời đúng cho câu hỏi này là "Collections".
Mở trang câu hỏi này →
Awhat is a current way to execute the command ps -ef using a child process?
Bspawn("ps -ef")
Cexec("ps -ef")
Dexec("ps", "-ef")
Efork("ps -ef")
Lời giải
Nếu các phương thức của mô-đun child_process có trong phạm vi, thì cách hiện đại để thực hiện lệnh ps -ef bằng cách sử dụng một quy trình con là sử dụng phương thức fork(). Phương thức fork() được sử dụng để tạo một quy trình con mới từ một quy trình cha. Quy trình con này sẽ thực hiện lệnh ps -ef và trả về kết quả. Phương thức fork() khác với các phương thức khác như spawn() và exec() ở chỗ nó không tạo một quy trình mới mà thay vào đó là tạo một bản sao của quy trình cha.
Mở trang câu hỏi này →
Awhere is a new frame placed?
Bthe call stack
Cthe event loop
Dthe poll phase
Ethe events queue
Lời giải
Khi một hàm JavaScript được gọi trong Node.js, quá trình này được thực hiện trên call stack. Call stack là một ngăn xếp được sử dụng để lưu trữ các hàm đang chờ được thực hiện. Khi một hàm được gọi, nó được thêm vào call stack và khi hàm đó kết thúc, nó sẽ được loại bỏ khỏi call stack. Điều này cho phép Node.js theo dõi các hàm đang chờ được thực hiện và đảm bảo rằng các hàm được thực hiện theo thứ tự đúng đắn. Vì vậy, khi một hàm JavaScript được gọi trong Node.js, nó sẽ được thêm vào call stack.
Mở trang câu hỏi này →
Ayes, through the debugger module
Byes, through the assert module
Cyes, through the console module
Dno
Lời giải
Có thể viết thử nghiệm trong Node.js mà không cần thư viện bên ngoài hay không? Để trả lời câu hỏi này, chúng ta cần xem xét các module có sẵn trong Node.js. Module assert là một trong những module được sử dụng để kiểm tra các giá trị trong Node.js. Module này cung cấp các hàm để kiểm tra các giá trị, chẳng hạn như assert.equal(), assert.notEqual(), assert.strictEqual(), v.v. Ngoài ra, chúng ta cũng có thể sử dụng module console để in ra các thông tin về thử nghiệm. Tuy nhiên, module debugger không được sử dụng để viết thử nghiệm. Vì vậy, câu trả lời đúng cho câu hỏi này là có thể viết thử nghiệm trong Node.js mà không cần thư viện bên ngoài.
Mở trang câu hỏi này →
Adigital certificates
BWEP
CRADIUS
Dbiometrics
Lời giải
Phương pháp xác thực dựa trên đặc điểm sinh học là phương pháp xác thực nhận dạng và nhận biết con người dựa trên các đặc điểm vật lý như vân tay. Phương pháp này sử dụng các đặc điểm sinh học như vân tay, khuôn mặt, mống mắt, giọng nói, v.v. để xác thực người dùng. Phương pháp xác thực dựa trên đặc điểm sinh học được sử dụng rộng rãi trong các lĩnh vực như an ninh, tài chính và y tế vì nó cung cấp mức độ bảo mật cao và khó bị giả mạo.
Mở trang câu hỏi này →
Acookie-parser
Bcookie
Creq.cookies
DAll the answers are wrong
Lời giải
Để 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".
Mở trang câu hỏi này →
ANodeEvent
BEvents
CEvent
DEventEmitter
Lời giải
Để 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.
Mở trang câu hỏi này →
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
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".
Mở trang câu hỏi này →
Ar.toArray()
Brsor.toArray()
Cdoc.toArray()
Dpoint.toArray()
Lời giải
Khi truy cập các tài liệu sử dụng ký hiệu chỉ mục mảng, phương pháp được gọi là r.toArray(). Phương pháp này cho phép bạn truy cập và xử lý các tài liệu dưới dạng mảng. Ví dụ, nếu bạn có một tài liệu có tên là 'r', bạn có thể sử dụng r.toArray() để truy cập các giá trị của tài liệu dưới dạng mảng. Điều này giúp bạn dễ dàng xử lý và phân tích dữ liệu trong tài liệu.
Mở trang câu hỏi này →
Apop()
Bkey0
CuniqueQ
DpushQ
Lời giải
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ả.
Mở trang câu hỏi này →
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
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.
Mở trang câu hỏi này →
AGET
BPUT
CSET
DPOST
Lời giải
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?
Mở trang câu hỏi này →
AL
Bhash
Ccrypto
DTLS
Lời giải
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ở.
Mở trang câu hỏi này →
AhasMethod()
BhasDoc()
ChasNext()
DAll of the mentioned
Lời giải
Để 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.
Mở trang câu hỏi này →
AEncryption
BKeying
CLocking
DRegistering
Lời giải
Quá trình chuyển đổi dữ liệu thành một định dạng không thể đọc được bởi người dùng khác được gọi là mã hóa (Encryption). Mã hóa là một quá trình bảo mật dữ liệu, trong đó dữ liệu được chuyển đổi thành một dạng mã, không thể hiểu được mà không có chìa khóa hoặc mật khẩu. Quá trình này giúp bảo vệ dữ liệu khỏi việc truy cập trái phép hoặc bị đánh cắp. Trong mã hóa, dữ liệu được mã hóa thành một dạng mã, và chỉ người có chìa khóa hoặc mật khẩu mới có thể giải mã và đọc được dữ liệu. Điều này giúp đảm bảo an toàn và bảo mật cho dữ liệu quan trọng.
Mở trang câu hỏi này →
Đi tiếp từ đây