Danh sách câu hỏi của đề

Câu hỏi: CSI106 Nhập môn khoa học máy tính – Bộ ôn tập cuối kỳ số 3

60 câu trắc nghiệm kèm lời giải của môn Introduction to Computer Science, xếp đúng thứ tự trong đề. Trang 3/3 — câu 41–60.

Danh sách câu hỏi

60/60 câuHết danh sách
APrograms and data in the same memory
BPrograms in memory, data in punch cards
CPrograms in punch cards, data in memory
DPrograms and data in separate memory units
Lời giải
Đáp án đúng: "Programs and data in the same memory". Ý tưởng chương trình được lưu trữ của Von Neumann là đặt cả lệnh và dữ liệu trong cùng một bộ nhớ, truy cập qua cùng một đường; nhờ vậy máy có thể nạp chương trình khác mà không cần đổi dây nối, và chương trình cũng có thể được xử lý như dữ liệu, điều làm nền cho trình biên dịch và hệ điều hành. Phương án "Programs in memory, data in punch cards" và phương án "Programs in punch cards, data in memory" đều níu lại cách làm của thời trước, khi bìa đục lỗ vừa là vật mang chương trình vừa là vật mang dữ liệu đưa vào máy; kiến trúc Von Neumann bỏ hẳn kiểu phân chia này. Phương án "Programs and data in separate memory units" mô tả kiến trúc Harvard với hai bộ nhớ và hai đường truy cập riêng, cách tổ chức thường gặp ở vi điều khiển và bộ xử lý tín hiệu chứ không phải máy tính Von Neumann.
Mở trang câu hỏi này →
AData is stored in random order within the file, and access to specific records is achieved using a key or index
BData is stored in the order in which it is entered and can only be accessed sequentially
CData is stored using a linked list structure, where each record contains a pointer to the location of the next record in the sequence
DData is organized with an index that allows for quick searching and retrieval of records based on specific keys or identifiers
Lời giải
Đáp án đúng: "Data is stored in the order in which it is entered and can only be accessed sequentially". Tệp tuần tự ghi các bản ghi nối tiếp theo đúng thứ tự đưa vào và không có cấu trúc tra cứu nào kèm theo, nên muốn tới bản ghi thứ n thì phải đi qua các bản ghi trước nó. Phương án "Data is stored in random order within the file, and access to specific records is achieved using a key or index" mô tả truy cập trực tiếp theo khoá, đặc điểm của tệp băm hoặc tệp chỉ mục. Phương án "Data is stored using a linked list structure, where each record contains a pointer to the location of the next record in the sequence" nói về cấu trúc liên kết bằng con trỏ, không phải cách tổ chức tệp tuần tự vốn dựa vào vị trí liền kề. Phương án "Data is organized with an index that allows for quick searching and retrieval of records based on specific keys or identifiers" chính là định nghĩa tệp chỉ mục.
Mở trang câu hỏi này →
ASequential files
BIndexed files
CHashed files
DBinary files
Lời giải
Đáp án đúng: "Hashed files". Tệp băm dùng một hàm băm biến khoá của bản ghi thành địa chỉ lưu trữ, nên từ khoá có thể tính ra ngay chỗ cần đọc mà không phải dò tìm, đổi lại phải có cách xử lý khi hai khoá rơi vào cùng địa chỉ. Phương án "Sequential files" ghi bản ghi theo thứ tự nhập và chỉ truy cập lần lượt, hoàn toàn không có cơ chế tính địa chỉ. Phương án "Indexed files" cũng truy cập trực tiếp được, nhưng dựa vào một bảng chỉ mục lưu cặp khoá và địa chỉ rồi tìm kiếm trên bảng đó, tức tra cứu chứ không tính bằng hàm băm. Phương án "Binary files" chỉ nói nội dung tệp được lưu ở dạng nhị phân thô thay vì văn bản; đó là cách mã hoá nội dung, không phải cách tổ chức để tìm kiếm bản ghi.
Mở trang câu hỏi này →
AWhen two different data items are assigned the same hash value, leading to the same storage location
BWhen data cannot be accessed due to file corruption
CWhen a file grows beyond its maximum size
DWhen an index points to a non-existent location in a file
Lời giải
Đáp án đúng: "When two different data items are assigned the same hash value, leading to the same storage location". Hàm băm nén một miền khoá rất rộng về một miền địa chỉ hẹp, nên không thể tránh được việc hai khoá khác nhau cho cùng một kết quả băm và cùng trỏ vào một ô lưu trữ; đó là xung đột địa chỉ, và tệp băm phải có phương pháp giải quyết như dò tuyến tính hay vùng tràn. Phương án "When data cannot be accessed due to file corruption" nói về tệp bị hỏng, một sự cố vật lý hoặc logic ở mức lưu trữ, không liên quan tới cách tính địa chỉ. Phương án "When a file grows beyond its maximum size" là tình trạng tệp vượt dung lượng cấp cho nó, một vấn đề về sức chứa. Phương án "When an index points to a non-existent location in a file" mô tả chỉ mục trỏ sai, lỗi riêng của tệp chỉ mục, trong khi xung đột là chuyện của hàm băm.
Mở trang câu hỏi này →
ANetwork Access Layer
BInternet Layer
CTransport Layer
DApplication Layer
Lời giải
Đáp án đúng: "Network Access Layer". Khi đối chiếu hai mô hình, tầng truy nhập mạng của TCP/IP gánh toàn bộ công việc mà OSI tách thành hai tầng dưới cùng: đóng gói thành khung, đánh địa chỉ vật lý, kiểm soát truy nhập đường truyền, đồng thời quy định cách biến bit thành tín hiệu trên môi trường. Phương án "Internet Layer" tương ứng với tầng mạng của OSI, lo đánh địa chỉ logic và định tuyến gói qua nhiều mạng. Phương án "Transport Layer" tương ứng với tầng vận chuyển của OSI, lo chuyển dữ liệu giữa hai tiến trình đầu cuối và kiểm soát lỗi, luồng. Phương án "Application Layer" của TCP/IP lại gộp ba tầng trên của OSI gồm phiên, trình diễn và ứng dụng, nên nó nằm ở đầu đối diện của chồng giao thức so với hai tầng được hỏi.
Mở trang câu hỏi này →
APhysical layer
BData link layer
CSession layer
DPresentation layer
Lời giải
Đáp án đúng: "Presentation layer". Tầng trình diễn lo cách dữ liệu được biểu diễn trước khi trao cho ứng dụng, nên ba việc đặc trưng của nó là chuyển đổi khuôn dạng, nén và mã hoá; mã hoá được đặt ở đây để hai đầu thống nhất cách biến đổi nội dung mà không cần ứng dụng tự xử lý. Phương án "Physical layer" chỉ biến bit thành tín hiệu điện, quang hay sóng trên đường truyền, không hiểu nội dung nên không thể mã hoá. Phương án "Data link layer" đóng khung dữ liệu, dùng địa chỉ vật lý và kiểm soát lỗi trên từng chặng; nó có thể bảo vệ đường truyền cục bộ nhưng không phụ trách mã hoá nội dung đầu cuối. Phương án "Session layer" thiết lập, duy trì, đồng bộ và kết thúc phiên đối thoại giữa hai bên, tức quản lý cuộc trao đổi chứ không biến đổi dữ liệu.
Mở trang câu hỏi này →
ABus topology is a sophisticated structure and robust with high traffic.
BRing topology is a high risk for collision between 2 nodes.
CStar topology is a structure that has a central switch.
DMesh topology is the most complicated structure.
Lời giải
Đáp án đúng: "Star topology is a structure that has a central switch.". Trong cấu trúc hình sao, mỗi nút có một đường riêng nối tới thiết bị trung tâm và mọi lưu lượng đều đi qua thiết bị đó, nên phát biểu này là định nghĩa và không thể bác bỏ. Cần nói thẳng rằng đề gốc để lọt hai phát biểu đều có lý: phương án "Mesh topology is the most complicated structure." cũng hợp lý vì lưới cần rất nhiều đường nối, nhưng phức tạp nhất là một so sánh phụ thuộc tiêu chí như số cáp hay chi phí, nên nó không chắc bằng một định nghĩa; câu hỏi đòi phát biểu đúng nhất nên lấy phát biểu định nghĩa. Phương án "Bus topology is a sophisticated structure and robust with high traffic." sai cả hai vế: bus là cấu trúc đơn giản nhất và kém chịu tải vì mọi nút chia nhau một đường trục. Phương án "Ring topology is a high risk for collision between 2 nodes." sai vì vòng truyền theo một chiều và quyền truyền được chuyển lần lượt nên gần như không có xung đột.
Mở trang câu hỏi này →
AFrame
BSegment
CPacket
DData
Lời giải
Đáp án đúng: "Packet". Ở tầng mạng của chồng giao thức TCP/IP, dữ liệu nhận từ tầng trên được bọc thêm tiêu đề chứa địa chỉ nguồn và địa chỉ đích để định tuyến qua nhiều mạng, và đơn vị dữ liệu mang tiêu đề đó gọi là gói. Phương án "Frame" là khung, đơn vị của tầng truy nhập mạng ở dưới, nơi gói được bọc tiếp bằng địa chỉ vật lý để đi trên một chặng cụ thể. Phương án "Segment" là đơn vị của tầng vận chuyển khi dùng giao thức có kết nối, nơi dữ liệu được chia khúc và đánh số thứ tự để phát lại khi mất. Phương án "Data" chỉ là cách gọi chung nội dung ở tầng ứng dụng, chưa mang tiêu đề nào của tầng dưới, nên không phải một đơn vị dữ liệu có cấu trúc ở tầng mạng.
Mở trang câu hỏi này →
A10 ms
B1 ms
C10 000 ms
D100 ms
Lời giải
Đáp án đúng: "10 ms". Tốc độ 1000 bps nghĩa là mỗi giây thiết bị phát được 1000 bit, nên một bit chiếm một phần nghìn giây. Thời gian để phát 10 bit bằng số bit chia cho tốc độ, tức 10 chia 1000 bằng 0,01 giây, đổi ra là 10 milli giây. Phương án "1 ms" chỉ ứng với đúng một bit, tức quên nhân với số bit cần gửi. Phương án "10 000 ms" là mười giây, sai chừng một nghìn lần và xuất hiện khi nhân 10 với 1000 thay vì chia, một dấu hiệu cho thấy đã lẫn chiều của công thức. Phương án "100 ms" là thời gian cần để phát 100 bit ở cùng tốc độ, nên nó lớn gấp mười lần kết quả đúng. Mẹo kiểm nhanh là so sánh thứ nguyên: bit chia cho bit mỗi giây phải cho ra giây.
Mở trang câu hỏi này →
AP2P systems inherently offer stronger encryption methods.
BDedicated servers are more susceptible to distributed denial-of-service attacks leading to infamous cybercrimes.
CSecuring communication is more complex when services are distributed.
DUser authentication is simpler to manage in P2P environments.
Lời giải
Đáp án đúng: "Securing communication is more complex when services are distributed.". Trong mô hình ngang hàng, dịch vụ nằm rải trên nhiều nút không ai kiểm soát, nên không có một điểm duy nhất để đặt tường lửa, kiểm toán hay chính sách; an toàn phải bảo đảm trên từng kết nối với những đối tác không đáng tin. Phương án "P2P systems inherently offer stronger encryption methods." gán tính chất của thuật toán cho kiến trúc, nhưng độ mạnh của mã hoá do giao thức và cách triển khai quyết định, không do mô hình. Phương án "Dedicated servers are more susceptible to distributed denial-of-service attacks leading to infamous cybercrimes." chỉ nói tới một hệ quả về khả dụng của điểm tập trung, chưa phải khác biệt cốt lõi về an ninh, và mạng ngang hàng cũng bị lợi dụng làm nguồn tấn công. Phương án "User authentication is simpler to manage in P2P environments." ngược sự thật, vì thiếu máy chủ giữ danh tính thì các nút phải tự xác thực lẫn nhau.
Mở trang câu hỏi này →
A1A
B2B
C1F
D2A
Lời giải
Đáp án đúng: "1A". Đổi 26 sang hệ mười sáu bằng cách chia liên tiếp cho 16: 26 chia 16 được 1 dư 10, chữ số dư 10 viết là A, thương 1 là chữ số kế tiếp, nên kết quả đọc theo chiều ngược là 1A. Kiểm lại: 1 nhân 16 cộng 10 bằng 26. Phương án "2B" có giá trị 2 nhân 16 cộng 11 bằng 43, lớn hơn hẳn. Phương án "1F" có giá trị 16 cộng 15 bằng 31, do lấy chữ số dư lớn nhất của hệ mười sáu thay vì phần dư thật. Phương án "2A" có giá trị 2 nhân 16 cộng 10 bằng 42, đúng phần dư nhưng sai thương của phép chia. Cách nhớ nhanh là một byte chia thành hai nửa bốn bit: 26 ở hệ hai là 0001 1010, nửa cao 0001 cho 1 và nửa thấp 1010 cho A.
Mở trang câu hỏi này →
Adivide by b
Bmultiply by b
Cadd to b
Dsubtract from b
Lời giải
Đáp án đúng: "divide by b". Giải thuật đổi một số nguyên hệ mười sang cơ số b là chia liên tiếp số đó cho b, mỗi lần giữ lại phần dư làm một chữ số, lấy thương làm số bị chia cho bước sau, tới khi thương bằng 0; dãy dư đọc theo chiều ngược chính là biểu diễn ở cơ số b. Phương án "multiply by b" là cách làm cho phần lẻ sau dấu phẩy, nơi ta nhân liên tiếp với cơ số rồi lấy phần nguyên, nên không áp dụng cho phần nguyên. Phương án "add to b" không tách được chữ số nào, vì cộng chỉ dịch giá trị chứ không bóc ra phần dư theo trọng số của cơ số. Phương án "subtract from b" cũng vậy: trừ lặp lại là cách làm chậm của phép chia nhưng bản thân nó không sinh ra dãy chữ số, và với số lớn thì không thể tiến hành.
Mở trang câu hỏi này →
AThe value of each symbol is fixed regardless of its position
BIt uses a limited number of symbols where each symbol has a fixed value
CThe position a symbol occupies in the number determines the value it represents
DIt represents numbers using Roman numerals or similar symbols.
Lời giải
Đáp án đúng: "The position a symbol occupies in the number determines the value it represents". Trong hệ đếm theo vị trí, mỗi chữ số được nhân với một trọng số là lũy thừa của cơ số ứng với chỗ nó đứng, nên cùng một ký hiệu mang giá trị khác nhau ở hai vị trí khác nhau; ví dụ chữ số 5 trong 52 đáng 50 còn trong 25 chỉ đáng 5. Phương án "The value of each symbol is fixed regardless of its position" tả đúng hệ không theo vị trí, tức điều ngược lại với câu hỏi. Phương án "It uses a limited number of symbols where each symbol has a fixed value" vừa nêu một điều kiện chung mà cả hai loại hệ đều có là bộ ký hiệu hữu hạn, vừa khẳng định giá trị cố định nên lại phủ nhận vai trò của vị trí. Phương án "It represents numbers using Roman numerals or similar symbols." lấy đúng ví dụ tiêu biểu của hệ không theo vị trí để gán cho hệ theo vị trí.
Mở trang câu hỏi này →
ATo efficiently store and process data
BTo standardize communication protocols
CTo confuse data
DTo complicate mathematical operations
Lời giải
Đáp án đúng: "To efficiently store and process data". Máy tính làm việc với hệ hai vì mạch điện chỉ phân biệt hai mức tin cậy, trong khi con người đọc số hệ mười, và lập trình viên dùng hệ mười sáu hay hệ tám để viết gọn mẫu bit; việc đổi qua lại giữa các hệ cho phép mỗi phía dùng cách biểu diễn phù hợp nhất mà dữ liệu bên trong vẫn được lưu và xử lý gọn, nhanh. Phương án "To standardize communication protocols" lẫn sang việc của các tổ chức tiêu chuẩn, chuẩn hoá giao thức không phải lý do tồn tại của phép đổi cơ số. Phương án "To confuse data" vô lý về mục đích, vì đổi cơ số không che giấu gì cả, giá trị vẫn như cũ và ai biết cơ số đều đọc được. Phương án "To complicate mathematical operations" đi ngược động cơ thiết kế, bởi người ta chọn hệ hai chính vì nó làm mạch tính toán đơn giản hơn chứ không rắc rối hơn.
Mở trang câu hỏi này →
AFirst-Come, First-Served (FCFS)
BShortest Job Next (SJN)
CRound-Robin (RR)
DPriority Scheduling
Lời giải
Đáp án đúng: "Shortest Job Next (SJN)". Giải thuật này mỗi lần chọn tiến trình có thời gian xử lý dự kiến ngắn nhất trong số đang chờ, nhờ đó thời gian chờ trung bình nhỏ nhất, nhưng đổi lại cần ước lượng được độ dài công việc và dễ làm các công việc dài bị bỏ lại mãi. Phương án "First-Come, First-Served (FCFS)" phục vụ theo đúng thứ tự tới, không hề xét độ dài, nên một công việc rất dài đứng trước sẽ chặn cả hàng. Phương án "Round-Robin (RR)" chia cho mỗi tiến trình một lát thời gian bằng nhau rồi xoay vòng, nên nó công bằng theo lượt chứ không ưu tiên việc ngắn. Phương án "Priority Scheduling" chọn theo mức ưu tiên được gán từ bên ngoài, thường theo tầm quan trọng hoặc theo loại người dùng, và mức đó có thể không liên quan gì tới thời gian chạy dự kiến.
Mở trang câu hỏi này →
AMemory manager
BProcess manager
CDevice manager
DFile manager
Lời giải
Đáp án đúng: "Device manager". Bộ quản lý thiết bị theo dõi mọi thiết bị vào ra, xếp hàng các yêu cầu truy cập, quyết định yêu cầu nào được phục vụ trước và gọi trình điều khiển tương ứng, nhờ đó nhiều tiến trình cùng muốn dùng một máy in hay một ổ đĩa vẫn không tranh chấp. Phương án "Memory manager" lo cấp phát và thu hồi bộ nhớ cho các tiến trình, theo dõi vùng trống và dùng các kỹ thuật như phân trang. Phương án "Process manager" lo tạo, lập lịch, chuyển trạng thái và kết thúc tiến trình, cùng việc xử lý bế tắc giữa chúng. Phương án "File manager" lo tệp và thư mục ở mức logic: tên, quyền truy cập, cấu trúc cây và chỗ lưu dữ liệu trên thiết bị, nhưng khi cần thao tác thật trên thiết bị thì chính nó phải nhờ bộ quản lý thiết bị.
Mở trang câu hỏi này →
APartitioning
BPaging
CSegmentation
DSwapping
Lời giải
Đáp án đúng: "Paging". Trong kỹ thuật phân trang, bộ nhớ vật lý được chia thành các phần bằng nhau gọi là khung, còn không gian của chương trình chia thành các trang cùng kích thước đó, nên mỗi trang nạp được vào bất kỳ khung trống nào mà không cần cả chương trình nằm liền một dải. Phương án "Partitioning" chia bộ nhớ thành các vùng để cấp cả khối cho một chương trình, các vùng có thể không bằng nhau và cách này sinh ra phân mảnh. Phương án "Segmentation" chia theo đơn vị logic của chương trình như mã, dữ liệu, ngăn xếp, nên các đoạn có kích thước khác nhau theo nhu cầu chứ không đều. Phương án "Swapping" không phải cách chia bộ nhớ mà là kỹ thuật đưa chương trình từ bộ nhớ ra thiết bị lưu trữ rồi nạp lại khi cần để nhiều chương trình dùng chung bộ nhớ hạn hẹp.
Mở trang câu hỏi này →
AUNIX
BLinux
CWindows
DAndroid
Lời giải
Đáp án đúng: "UNIX". Hệ này được thiết kế ngay từ đầu cho máy phục vụ nhiều người cùng đăng nhập: đa người dùng, đa nhiệm, cơ chế quyền theo chủ sở hữu và nhóm, tiến trình cách ly nhau, nên nó là hệ gắn với tiêu chí ổn định trong môi trường nhiều người dùng. Phải nói thẳng rằng đề gốc để lọt hai lựa chọn khó phân định, vì phương án "Linux" là hệ cùng họ, thừa hưởng đúng mô hình nhiều người dùng đó và cũng nổi tiếng ổn định; chốt theo bản gốc đặt ra chuẩn ấy chứ không phải vì bản sao kém hơn. Phương án "Windows" hướng tới máy cá nhân với giao diện đồ hoạ là trọng tâm, khả năng nhiều người dùng đến sau và phát triển mạnh ở dòng dành riêng cho máy phục vụ. Phương án "Android" là hệ cho thiết bị di động, mỗi máy gắn với một chủ và được tối giản để tiết kiệm pin, nên không nhắm tới môi trường nhiều người dùng.
Mở trang câu hỏi này →
ATo design and develop software applications and tools for various purposes
BTo manage system hardware and software resources efficiently
CTo establish connections and facilitate communication between multiple computers in a network
DTo encrypt user data and protect it from unauthorized access and threats
Lời giải
Đáp án đúng: "To manage system hardware and software resources efficiently". Hệ điều hành là lớp trung gian giữa phần cứng và chương trình người dùng: nó cấp phát bộ xử lý, bộ nhớ, thiết bị vào ra và tệp cho các tiến trình, giải quyết tranh chấp giữa chúng, đồng thời che chi tiết phần cứng sau các hàm hệ thống. Phương án "To design and develop software applications and tools for various purposes" là việc của người lập trình cùng bộ công cụ phát triển, hệ điều hành chỉ cung cấp môi trường để các công cụ đó chạy. Phương án "To establish connections and facilitate communication between multiple computers in a network" là chức năng của chồng giao thức mạng và các dịch vụ mạng, một phần việc mà hệ điều hành hỗ trợ nhưng không phải mục đích tồn tại của nó. Phương án "To encrypt user data and protect it from unauthorized access and threats" chỉ là một phần trong nhiệm vụ bảo vệ, hẹp hơn nhiều so với việc quản lý toàn bộ tài nguyên.
Mở trang câu hỏi này →
AJob
BProcess
CDeadlock
DPartition
Lời giải
Đáp án đúng: "Job". Theo cách gọi tên trạng thái trong môn này, một chương trình nằm trên bộ lưu trữ trở thành công việc từ lúc được hệ điều hành chọn và đưa vào trạng thái chờ, rồi vẫn là công việc suốt thời gian xếp hàng đợi được cấp bộ nhớ và tài nguyên. Phương án "Process" chỉ đúng ở bước sau: chương trình thành tiến trình khi đã được nạp vào bộ nhớ và cấp đủ tài nguyên để chuyển sang trạng thái sẵn sàng chạy, nên dùng từ này cho trạng thái chờ là đi trước một nhịp. Phương án "Deadlock" không phải một dạng của chương trình mà là tình trạng nhiều tiến trình giữ tài nguyên của nhau và chờ nhau vô tận. Phương án "Partition" là vùng bộ nhớ được chia ra để cấp cho một công việc, tức một thứ tài nguyên mà công việc chờ nhận, chứ không phải tên gọi của bản thân chương trình.
Mở trang câu hỏi này →