Đề ôn · CSI106
CSI106 Introduction to Computer Science – Bộ ôn tập thi lại số 1 (60 câu)
60 câu · Thi lại · Fall 2025
60câu trong đề
CSI106môn
Câu hỏi của đề
15/60 câuCòn 45
1Which of the following is the main challenge during the testing phase of the software lifecycle?4 lựa chọn
AEnsuring complete coverage of all possible test cases
BWriting code that adheres to design specifications
CGathering requirements from stakeholders
DSelecting the appropriate programming language
Lời giải
Mở trang câu hỏi này →Trong giai đoạn kiểm tra của vòng đời phần mềm, thách thức chính là đảm bảo sự bao phủ đầy đủ của tất cả các trường hợp kiểm tra. Điều này có nghĩa là các nhà phát triển phần mềm cần phải xác định và kiểm tra tất cả các khả năng có thể xảy ra trong phần mềm để đảm bảo rằng phần mềm hoạt động chính xác và không có lỗi. Việc này đòi hỏi sự kỹ lưỡng và cẩn thận trong quá trình lập kế hoạch và thực hiện kiểm tra. Các nhà phát triển cần phải xác định các trường hợp kiểm tra quan trọng và tạo ra các kịch bản kiểm tra phù hợp để đảm bảo rằng phần mềm đáp ứng được các yêu cầu và tiêu chuẩn.
2Which software engineering principle advocates breaking down complex systems into smaller, manageable components that are easier to understand, develop, and maintain?4 lựa chọnTrung bình67% trả lời đúng
A
AbstractionB
EncapsulationC
ModularityD
InheritanceLời giải
Mở trang câu hỏi này →Phép nguyên tắc kỹ thuật phần mềm này khuyến khích chia nhỏ hệ thống phức tạp thành các thành phần nhỏ hơn, có thể kiểm soát được, dễ hiểu, dễ phát triển và dễ bảo trì. Điều này giúp giảm thiểu sự phức tạp và tăng cường độ linh hoạt trong việc phát triển và bảo trì hệ thống. Modularity là một trong những nguyên tắc quan trọng trong kỹ thuật phần mềm, giúp các nhà phát triển tạo ra các hệ thống có thể mở rộng, dễ dàng bảo trì và nâng cấp.
3In the context of software design, what is the significance of the Software Architecture?4 lựa chọn
AIt focuses on coding individual functions and procedures.
BIt defines the overall structure and organization of the software system.
CIt is a tool for project management.
DIt involves testing the software against user requirements.
Lời giải
Mở trang câu hỏi này →Kỹ thuật thiết kế phần mềm là một phần quan trọng của quy trình phát triển phần mềm. Trong bối cảnh thiết kế phần mềm, kiến trúc phần mềm đóng vai trò quan trọng. Kiến trúc phần mềm định nghĩa cấu trúc và tổ chức tổng thể của hệ thống phần mềm. Nó bao gồm các thành phần, mối quan hệ giữa các thành phần và giao tiếp giữa chúng. Kiến trúc phần mềm giúp đảm bảo rằng hệ thống phần mềm được thiết kế một cách hợp lý, dễ dàng bảo trì và mở rộng. Nó cũng giúp đảm bảo rằng hệ thống phần mềm đáp ứng được các yêu cầu của người dùng và đạt được các mục tiêu của dự án.
ARecords cannot contain other records as fields.
BRecords are immutable data types.
CRecords have a fixed size that cannot be changed at runtime.
DRecords can have fields of different data types.
Lời giải
Mở trang câu hỏi này →Các loại dữ liệu về bản ghi được mô tả như sau: Bản ghi không thể chứa bản ghi khác làm trường. Bản ghi là loại dữ liệu không thể thay đổi. Bản ghi có kích thước cố định không thể thay đổi tại thời gian chạy. Bản ghi có thể có các trường có loại dữ liệu khác nhau. Trong đó, bản ghi có thể chứa các trường có loại dữ liệu khác nhau, điều này cho phép chúng ta lưu trữ và xử lý dữ liệu phức tạp một cách linh hoạt. Điều này làm cho bản ghi trở thành một trong những loại dữ liệu mạnh mẽ và linh hoạt trong lập trình.
ACollect the information needed to be stored --> Build an entity-relation model --> Normalization
BCollect the information needed to be stored --> Normalization --> Build an entity-relation model
CBuild an entity-relation model --> Normalization --> Collect the information needed to be stored
DNot need be done through a step-by-step process
Lời giải
Mở trang câu hỏi này →Để thiết kế một cơ sở dữ liệu hiệu quả, cần thực hiện các bước sau. Trước tiên, cần thu thập thông tin cần được lưu trữ. Điều này giúp xác định các thuộc tính và mối quan hệ giữa chúng. Sau đó, cần xây dựng mô hình quan hệ (Entity-Relation Model) để thể hiện các mối quan hệ giữa các thuộc tính. Cuối cùng, cần thực hiện quá trình chuẩn hóa (Normalization) để đảm bảo dữ liệu được lưu trữ một cách hiệu quả và giảm thiểu sự trùng lặp.
6What describes the hierarchical model?4 lựa chọn
AData is organized as a binary tree and each entity can have several children
BData is organized as a binary tree and each entity have only one children
CData is organized as an inverted tree and each entity can have several children
DData is organized as an inverted tree and each entity have only one child
Lời giải
Mở trang câu hỏi này →Mô hình hiyerarchi là một cách tổ chức dữ liệu theo một cấu trúc cây. Trong mô hình này, mỗi thực thể có thể có nhiều con. Ví dụ, một công ty có nhiều bộ phận, mỗi bộ phận có nhiều nhân viên. Mỗi thực thể trong cây có thể có nhiều con, tạo thành một cấu trúc cây phức tạp. Mô hình này giúp dễ dàng quản lý và truy cập dữ liệu, đặc biệt là khi dữ liệu có mối quan hệ phức tạp.
AHierarchical
BNetworking
CRelational
DObject-oriented
Lời giải
Mở trang câu hỏi này →Câu hỏi này yêu cầu bạn xác định mô hình cơ sở dữ liệu truyền thống nào không phải là một trong ba mô hình cơ bản. Mô hình Hierarchical, Relational và Object-oriented là ba mô hình cơ bản trong cơ sở dữ liệu. Mô hình Hierarchical được sử dụng để mô tả dữ liệu theo cấu trúc cây, Relational được sử dụng để mô tả dữ liệu theo quan hệ và Object-oriented được sử dụng để mô tả dữ liệu theo đối tượng. Mô hình Networking không phải là một trong ba mô hình cơ bản này. Mô hình Networking được sử dụng để mô tả dữ liệu theo mạng, nhưng nó không được coi là một mô hình cơ bản trong cơ sở dữ liệu truyền thống.
Aunion
Bjoin
Cproject
Dall of these above
Lời giải
Mở trang câu hỏi này →Trong cơ sở dữ liệu quan hệ, một phép toán đơn (unary operation) là phép toán chỉ tác động lên một bảng dữ liệu. Trong các lựa chọn trên, phép toán 'project' là một phép toán đơn vì nó chỉ tác động lên một bảng dữ liệu và trả về một bảng dữ liệu mới với các cột được chọn. Project là phép toán đơn vì nó không cần đến bảng dữ liệu thứ hai để thực hiện phép toán. Nó chỉ cần bảng dữ liệu đầu vào và trả về bảng dữ liệu mới với các cột được chọn.
9Unified Modeling Language (UML) is4 lựa chọn
AA high level language
BA machine language
CAn English-language-like representation of code
DA pictorial representation of an algorithm
Lời giải
Mở trang câu hỏi này →Unified Modeling Language (UML) là một phương pháp mô hình hóa được sử dụng để thiết kế và mô tả các hệ thống phần mềm. Nó được thiết kế để cung cấp một ngôn ngữ chung để mô tả các hệ thống phần mềm, giúp các nhà phát triển và các bên liên quan khác hiểu rõ về cấu trúc và chức năng của hệ thống. UML sử dụng các biểu tượng và ký hiệu để mô tả các đối tượng và mối quan hệ giữa chúng, giúp tạo ra một bản đồ tổng quan về hệ thống. Nó không phải là một ngôn ngữ lập trình thực sự, mà là một phương pháp mô hình hóa giúp các nhà phát triển tạo ra các mô hình và thiết kế hệ thống phần mềm một cách hiệu quả.
AWhen solving problems that require backtracking
BWhen stack overflow is a concern
CWhen the problem involves tree traversal
DWhen solving problems with divide-and-conquer techniques
Lời giải
Mở trang câu hỏi này →Một thuật toán lặp (iterative) thường được ưu tiên hơn một thuật toán lặp lại (recursive) trong trường hợp nào? Thuật toán lặp lại có thể dẫn đến lỗi tràn ngăn xếp (stack overflow) khi được gọi nhiều lần, đặc biệt là khi giải quyết các vấn đề có quy mô lớn. Điều này xảy ra vì mỗi lần gọi hàm đều tạo ra một bản sao của ngăn xếp, và nếu không được quản lý tốt, ngăn xếp có thể trở nên quá lớn và dẫn đến lỗi. Trong khi đó, thuật toán lặp lại không tạo ra các bản sao ngăn xếp, do đó không có khả năng xảy ra lỗi tràn ngăn xếp. Vì vậy, khi cần giải quyết các vấn đề có quy mô lớn và tránh lỗi tràn ngăn xếp, thuật toán lặp lại thường được ưu tiên hơn.
AThe Internet is a global network, whereas an internet is any interconnected network.
BThe Internet uses proprietary protocols, while an internet uses TCP/IP.
CThe Internet is limited to government organizations, and an internet is public.
DAn internet is faster than the Internet.
Lời giải
Mở trang câu hỏi này →Mạng Internet được định nghĩa là một mạng toàn cầu, được quản lý và vận hành bởi một tổ chức duy nhất. Nó được xây dựng dựa trên các tiêu chuẩn và quy định chung, đảm bảo sự tương thích và kết nối giữa các thiết bị và hệ thống khác nhau. Ngược lại, một internet là bất kỳ mạng nào được kết nối và liên thông, không nhất thiết phải là mạng toàn cầu. Ví dụ, một mạng nội bộ trong một công ty hoặc một trường học cũng có thể được coi là một internet. Điều này cho thấy sự khác biệt cơ bản giữa Internet và internet.
ABinary search can be used on unsorted data
BBinary search divides the search space into three parts
CBinary search is faster than linear search for sorted data
DBinary search has a time complexity of O(n)
Lời giải
Mở trang câu hỏi này →Tìm kiếm nhị phân là một thuật toán tìm kiếm hiệu quả được sử dụng rộng rãi trong các ứng dụng tính toán. Nó hoạt động bằng cách chia dãy dữ liệu được sắp xếp thành hai phần nhỏ hơn, sau đó so sánh giá trị trung tâm của phần được chọn để quyết định phần nào nên được chọn tiếp theo. Điều này cho phép tìm kiếm nhị phân giảm đáng kể số lượng so sánh cần thiết để tìm kiếm một mục tiêu cụ thể. Trong khi tìm kiếm tuyến tính có thời gian phức tạp O(n), tìm kiếm nhị phân có thời gian phức tạp O(log n), làm cho nó trở thành lựa chọn lý tưởng cho các ứng dụng yêu cầu hiệu suất cao. Ngoài ra, tìm kiếm nhị phân cũng có thể được sử dụng trên dữ liệu được sắp xếp, điều này làm cho nó trở thành một công cụ mạnh mẽ trong lĩnh vực khoa học tính toán.
ASequential search requires the data to be sorted in ascending order, while binary search can work on unsorted data as well
BBinary search divides the search space into halves, while sequential search checks elements one by one
CSequential search exhibits greater efficiency and speed compared to binary search when applied to large datasets containing a significant number of elements
DBinary search is a versatile algorithm that can be applied to various types of data structures, including arrays, linked lists, and trees, while sequential search is specifically designed to work only with arrays
Lời giải
Mở trang câu hỏi này →Tìm kiếm tuần tự và tìm kiếm nhị phân là hai thuật toán tìm kiếm khác nhau. Trong tìm kiếm tuần tự, mỗi phần tử trong danh sách được kiểm tra một cách tuần tự để tìm kiếm mục tiêu. Ngược lại, thuật toán tìm kiếm nhị phân chia không gian tìm kiếm thành hai phần bằng cách sử dụng trung bình của khoảng tìm kiếm hiện tại. Điều này cho phép tìm kiếm nhị phân tìm kiếm mục tiêu nhanh hơn đáng kể so với tìm kiếm tuần tự, đặc biệt là khi danh sách có kích thước lớn. Tìm kiếm tuần tự không yêu cầu dữ liệu phải được sắp xếp theo thứ tự tăng dần, trong khi tìm kiếm nhị phân yêu cầu dữ liệu phải được sắp xếp trước khi thực hiện tìm kiếm.
14How is a linked list typically implemented?4 lựa chọn
AUsing arrays
BUsing stacks
CUsing queues
DUsing pointers
Lời giải
Mở trang câu hỏi này →Một danh sách liên kết thường được thực hiện bằng cách sử dụng các con trỏ. Trong danh sách liên kết, mỗi phần tử được lưu trữ trong một ô nhớ riêng biệt và mỗi ô nhớ này có một con trỏ chỉ đến ô nhớ tiếp theo. Điều này cho phép danh sách liên kết có thể được sắp xếp và truy cập theo bất kỳ thứ tự nào. Khi thêm hoặc xóa một phần tử, chỉ cần cập nhật các con trỏ liên kết mà không cần di chuyển các phần tử khác. Điều này làm cho danh sách liên kết có thể được sử dụng trong các ứng dụng yêu cầu hiệu suất cao và khả năng mở rộng.
A
O(n)B
O(log n)C
O(n*2)D
O(n log n)Lời giải
Mở trang câu hỏi này →Để tìm độ cao của một cây nhị phân có n nút, chúng ta cần thực hiện một số bước. Trước hết, chúng ta cần đi qua từng nút của cây nhị phân. Mỗi nút đều có thể là nút gốc hoặc nút con. Vì vậy, chúng ta cần thực hiện một phép đi qua từng nút của cây nhị phân. Mỗi phép đi qua sẽ có thời gian thực hiện cố định. Vì vậy, tổng thời gian thực hiện sẽ tỉ lệ thuận với số nút của cây nhị phân. Do đó, thời gian phức tạp của việc tìm độ cao của một cây nhị phân có n nút là O(n).
Đi tiếp từ đây