Bachelor of Software Engineering (B.S.W.E.) Comprehensive Exit Exam ā Questions and Answers
Question 1: What is a deadlock in operating systems?
- A condition where two or more processes are blocked forever, each waiting for a resource held by the other (Correct answer)
- A scheduling policy that starves low-priority processes
- A type of memory leak in kernel space
- A situation where a process uses 100% CPU
Correct answer: A condition where two or more processes are blocked forever, each waiting for a resource held by the other
Deadlock occurs when a set of processes are permanently blocked because each process holds a resource needed by another process in the set.
Question 2: What is the purpose of paging in memory management?
- To divide physical memory into fixed-size frames and logical memory into pages, enabling non-contiguous allocation (Correct answer)
- To compress memory contents to save space
- To prioritize memory access for kernel processes
- To replicate memory across multiple processors
Correct answer: To divide physical memory into fixed-size frames and logical memory into pages, enabling non-contiguous allocation
Paging divides both physical and logical memory into fixed-size blocks (frames and pages), eliminating external fragmentation and enabling efficient memory use.
Question 3: How would you describe the importance of software design?
- Complexity
- Quality (Correct answer)
- Efficiency
- Accuracy
Correct answer: Quality
Software design is paramount because it lays the architectural blueprint for the entire system. A robust and well-conceived design directly influences the overall quality of the software, impacting its maintainability, reliability, performance, and user experience, thereby ensuring it effectively meets user requirements.
Question 4: How does random access time differ between an array and a linked list?
- Both support O(1) random access by index
- Both require O(log n) for random access
- Array supports O(1) random access; linked list requires O(n) traversal (Correct answer)
- Array requires O(n) traversal; linked list supports O(1) access
Correct answer: Array supports O(1) random access; linked list requires O(n) traversal
Arrays support O(1) random access because index arithmetic directly computes the memory address, while linked lists require traversal from the head.
Question 5: What is a heap data structure?
- Unstructured dynamic memory
- A sorted doubly linked list
- A complete binary tree satisfying the heap property where each parent is greater or smaller than its children (Correct answer)
- A hash table with priority-based ordering
Correct answer: A complete binary tree satisfying the heap property where each parent is greater or smaller than its children
A heap is a complete binary tree where each parent is greater (max-heap) or smaller (min-heap) than its children, commonly used to implement priority queues.
Question 6: What is the purpose of the ROLLBACK statement?
- To drop all tables in the database
- To undo changes made in the current transaction (Correct answer)
- To commit a transaction permanently
- To create a database backup
Correct answer: To undo changes made in the current transaction
ROLLBACK undoes all changes made during the current transaction, restoring the database to its state before the transaction began.
Question 7: What is a hash table?
- A binary tree sorted by key values
- A sorted array of key-value pairs
- A linked list with index-based access
- A data structure using a hash function to map keys to array indices for fast lookup (Correct answer)
Correct answer: A data structure using a hash function to map keys to array indices for fast lookup
A hash table uses a hash function to compute an index into an array of buckets, providing average O(1) time for insertions and lookups.
Question 8: What is Dijkstra's algorithm used for?
- Searching for values in binary trees
- Sorting arrays in ascending order
- Finding the shortest path from a source to all nodes in a weighted graph (Correct answer)
- Lossless data compression
Correct answer: Finding the shortest path from a source to all nodes in a weighted graph
Dijkstra's algorithm finds the shortest path from a source node to all other nodes in a weighted graph with non-negative edge weights.
Question 9: What is the key distinction between pass-by-value and pass-by-reference parameter passing?
- Pass-by-value copies the memory address; pass-by-reference copies the actual value
- Pass-by-value is used for objects; pass-by-reference is used for primitives
- Pass-by-value passes a copy of the data; pass-by-reference passes the memory address of the data (Correct answer)
- They are semantically identical but differ only in syntax across languages
Correct answer: Pass-by-value passes a copy of the data; pass-by-reference passes the memory address of the data
Pass-by-value gives the function a copy of the data so the original is unaffected, while pass-by-reference passes the address so the function can modify the original variable.
Question 10: What is the difference between WHERE and HAVING in SQL?
- WHERE is used with JOINs; HAVING is not
- WHERE is for strings; HAVING is for numbers
- WHERE filters before grouping; HAVING filters after grouping (Correct answer)
- They are interchangeable
Correct answer: WHERE filters before grouping; HAVING filters after grouping
WHERE filters individual rows before aggregation, while HAVING filters groups after the GROUP BY clause has been applied.
Question 11: Which concept in network security refers to granting users only the minimum permissions necessary to perform their job?
- Principle of Least Privilege (Correct answer)
- Zero Trust Architecture
- Defense in Depth
- Role-Based Access Control
Correct answer: Principle of Least Privilege
The Principle of Least Privilege restricts users, processes, and systems to only the access rights they need to perform their authorized tasks, limiting the damage from mistakes or attacks.
Question 12: Which SQL aggregate function returns the number of rows matching a condition?
- MAX()
- COUNT() (Correct answer)
- AVG()
- SUM()
Correct answer: COUNT()
COUNT() returns the number of rows that match a specified condition or the total rows in a result set.
Question 13: What is normalization in database design?
- Indexing all columns for performance
- Converting data to normal distribution
- Encrypting sensitive data
- Organizing data to reduce redundancy and improve integrity (Correct answer)
Correct answer: Organizing data to reduce redundancy and improve integrity
Normalization organizes a database structure to reduce data redundancy and improve data integrity through a series of normal forms.
Question 14: What is the time complexity of binary search?
- O(log n) (Correct answer)
- O(n²)
- O(n)
- O(1)
Correct answer: O(log n)
Binary search has O(log n) time complexity because it eliminates half the remaining search space with each comparison.
Question 15: What is sharding in database systems?
- Horizontal partitioning of data across multiple database instances (Correct answer)
- Encrypting database rows for security
- Duplicating a database for read redundancy
- Creating indexes on all columns
Correct answer: Horizontal partitioning of data across multiple database instances
Sharding is a database scaling technique that horizontally partitions data across multiple instances to distribute load and improve performance.
Question 16: Which of the following best describes 'technical debt' in software engineering?
- The cost of rework caused by choosing an easy solution now over a better approach (Correct answer)
- Money owed for software licenses
- Lines of code exceeding a project's budget estimate
- Outdated hardware that slows development
Correct answer: The cost of rework caused by choosing an easy solution now over a better approach
Technical debt refers to the implied cost of future rework resulting from choosing a quick but suboptimal solution in the present.
Question 17: What is a process in the context of an operating system?
- A background service managed by the kernel
- An instance of a program in execution with its own memory space (Correct answer)
- A hardware interrupt handler
- A set of CPU instructions stored on disk
Correct answer: An instance of a program in execution with its own memory space
A process is a running instance of a program, with its own dedicated memory address space, program counter, and system resources.
Question 18: What is a foreign key in a relational database?
- A unique identifier generated automatically
- A field referencing the primary key of another table (Correct answer)
- A primary key in a different format
- An encrypted key for secure access
Correct answer: A field referencing the primary key of another table
A foreign key is a column that establishes a referential link between two tables by pointing to the primary key of another table.
Question 19: What term describes a software design flaw where an object knows too much or does too much?
- Spaghetti Code
- Dead Code
- God Object (Correct answer)
- Magic Number
Correct answer: God Object
A God Object is an anti-pattern where a single class handles too many responsibilities, violating the Single Responsibility Principle.
Question 20: What is a firewall in network security?
- An encryption tool for securing data at rest
- Software that detects and removes viruses from a computer
- A network security device or software that monitors and controls incoming and outgoing traffic based on defined rules (Correct answer)
- A tool for scanning network vulnerabilities
Correct answer: A network security device or software that monitors and controls incoming and outgoing traffic based on defined rules
A firewall enforces a security policy by filtering network traffic based on rules, blocking unauthorized access while allowing legitimate communication.
Question 21: What is memoization in algorithm design?
- Writing inline code documentation and comments
- Caching the results of function calls to avoid redundant computation on repeated inputs (Correct answer)
- A debugging technique for tracing variable values
- A specific memory allocation strategy for performance
Correct answer: Caching the results of function calls to avoid redundant computation on repeated inputs
Memoization stores the results of expensive function calls so that when the same inputs occur again, the cached result is returned immediately.
Question 22: Which protocol automatically assigns IP addresses to devices on a network?
- DNS
- ARP
- DHCP (Correct answer)
- ICMP
Correct answer: DHCP
DHCP (Dynamic Host Configuration Protocol) automatically assigns IP addresses and network configuration parameters to devices when they connect.
Question 23: Which documentation artifact describes the 'who, what, and why' of a feature from the end user's perspective?
- Architecture decision record
- User story (Correct answer)
- API specification
- UML class diagram
Correct answer: User story
A user story follows the format 'As a [user], I want [goal], so that [benefit],' capturing requirements from the end user's perspective.
Question 24: What property defines a binary search tree (BST)?
- Every node must have exactly two children
- Only leaf nodes contain data values
- Left subtree values are smaller and right subtree values are larger than each node (Correct answer)
- A sorted array is stored as a tree structure
Correct answer: Left subtree values are smaller and right subtree values are larger than each node
A BST ensures each node's left subtree contains only smaller values and the right subtree contains only larger values, enabling O(log n) average search.
Question 25: What is the difference between symmetric and asymmetric encryption?
- Symmetric uses the same key for encryption and decryption; asymmetric uses a public key to encrypt and a private key to decrypt (Correct answer)
- Symmetric uses no keys; asymmetric uses one key
- Symmetric is slower; asymmetric is faster
- Symmetric is used for hashing; asymmetric is used for signing
Correct answer: Symmetric uses the same key for encryption and decryption; asymmetric uses a public key to encrypt and a private key to decrypt
Symmetric encryption uses one shared secret key for both operations, while asymmetric encryption uses a mathematically related key pair where data encrypted with the public key can only be decrypted with the private key.
Question 26: The ______ information system provides important data to upper management.
- expert
- managerial
- decision
- executive (Correct answer)
Correct answer: executive
An executive information system (EIS) is a specialized type of management information system designed to provide high-level, summarized data and critical insights to upper management. These systems support strategic decision-making by presenting key performance indicators and trends in an easily digestible format for executives.
Question 27: What is a stored procedure in SQL?
- A precompiled set of SQL statements stored in the database (Correct answer)
- A trigger that fires on data changes
- A view that stores query results
- A backup procedure for the database
Correct answer: A precompiled set of SQL statements stored in the database
A stored procedure is a precompiled collection of SQL statements that can be executed as a single named unit, improving performance and reusability.
Question 28: What is acceptance testing (UAT)?
- Developer testing done before each commit
- Testing to verify the system meets business requirements and is ready for delivery (Correct answer)
- Automated testing performed on mobile devices
- Performance testing under simulated peak load
Correct answer: Testing to verify the system meets business requirements and is ready for delivery
User Acceptance Testing (UAT) verifies that the system satisfies business requirements and is acceptable to stakeholders before it goes live.
Question 29: What is the fundamental difference between a stack and a queue?
- Stacks have slower performance than queues
- Stacks use LIFO ordering; queues use FIFO ordering for element removal (Correct answer)
- Stacks store numbers; queues store strings
- Stacks are implemented as arrays; queues as linked lists
Correct answer: Stacks use LIFO ordering; queues use FIFO ordering for element removal
Stacks use Last In First Out (LIFO) while queues use First In First Out (FIFO) ā the difference is which end elements are removed from.
Question 30: The person who is fully accountable to the sponsors and stakeholders for the project's success.
- Project Leader
- Systems Analyst
- End-User
- Project Manager (Correct answer)
Correct answer: Project Manager
The Project Manager is the individual who bears full responsibility for the overall success of a project, from initiation to closure, accountable to both sponsors and stakeholders. They are tasked with planning, executing, and monitoring the project, ensuring it meets its objectives within scope, time, and budget constraints.
Question 31: Which memory allocation issue occurs when free memory exists but is fragmented into small pieces too small to satisfy a request?
- Stack overflow
- Memory leak
- External fragmentation (Correct answer)
- Internal fragmentation
Correct answer: External fragmentation
External fragmentation occurs when there is enough total free memory but it is split into non-contiguous blocks that cannot satisfy a large allocation request.
Question 32: What is 'cohesion' in software design?
- How well elements within a module belong together (Correct answer)
- The number of classes in a module
- The size of a software component
- How much modules depend on each other
Correct answer: How well elements within a module belong together
Cohesion measures how strongly related and focused the responsibilities of a single module are ā high cohesion is preferred.
Question 33: What is virtual memory in operating systems?
- Cache memory embedded in the CPU
- A technique using disk space to extend apparent RAM capacity (Correct answer)
- Memory located on the GPU
- Encrypted RAM for secure operations
Correct answer: A technique using disk space to extend apparent RAM capacity
Virtual memory allows the OS to use disk space (swap/page file) as an extension of RAM, enabling programs to use more memory than physically installed.
Question 34: What is stress testing in software QA?
- Testing code readability and maintainability
- Testing developer onboarding processes
- Testing error message clarity and accuracy
- Testing system behavior under extreme load or resource constraints (Correct answer)
Correct answer: Testing system behavior under extreme load or resource constraints
Stress testing evaluates system behavior when pushed beyond normal operating conditions to identify failure points and breaking limits.
Question 35: Which normal form eliminates transitive dependencies?
- First Normal Form (1NF)
- Boyce-Codd Normal Form (BCNF)
- Third Normal Form (3NF) (Correct answer)
- Second Normal Form (2NF)
Correct answer: Third Normal Form (3NF)
Third Normal Form (3NF) eliminates transitive dependencies by ensuring every non-key attribute depends only on the primary key.
Question 36: What is a subnet mask used for?
- Dividing an IP address into network and host portions to identify which subnet a host belongs to (Correct answer)
- Encrypting data sent over a network
- Assigning IP addresses dynamically to devices
- Filtering malicious network traffic
Correct answer: Dividing an IP address into network and host portions to identify which subnet a host belongs to
A subnet mask identifies which part of an IP address refers to the network and which part refers to the individual host, enabling logical network segmentation.
Question 37: What is the space complexity of recursive DFS on a graph with n nodes?
- O(1)
- O(log n)
- O(n) (Correct answer)
- O(n²)
Correct answer: O(n)
Recursive DFS uses O(n) call stack space in the worst case because the recursion depth can equal the total number of nodes in a path graph.
Question 38: What is a race condition in concurrent programming?
- A bug where program behavior depends on the relative timing or ordering of uncontrolled events (Correct answer)
- A scheduling priority given to real-time threads
- A hardware interrupt that preempts a running process
- A performance optimization using multiple CPU cores
Correct answer: A bug where program behavior depends on the relative timing or ordering of uncontrolled events
A race condition occurs when two or more threads access shared data concurrently and the outcome depends on the non-deterministic order of their execution.
Question 39: A team uses feature flags to deploy incomplete features to production hidden from users. Which benefit does this provide?
- Eliminates the need for version control
- Reduces database migration complexity
- Replaces automated testing
- Enables continuous deployment while controlling feature rollout (Correct answer)
Correct answer: Enables continuous deployment while controlling feature rollout
Feature flags decouple deployment from release, allowing teams to ship code continuously while controlling when and to whom features are exposed.
Question 40: What does the fork() system call do in Unix/Linux?
- Loads a new program image into the current process
- Creates a child process that is an exact copy of the parent process (Correct answer)
- Terminates the calling process
- Creates a new thread within the current process
Correct answer: Creates a child process that is an exact copy of the parent process
fork() creates a new child process that is a duplicate of the calling parent process, with its own copy of the parent's address space.
Question 41: What is a database view?
- A database entity-relationship diagram
- A physical table storing data
- A virtual table based on a SELECT query (Correct answer)
- A stored procedure without parameters
Correct answer: A virtual table based on a SELECT query
A view is a virtual table defined by a stored SQL query that can be queried like a regular table but stores no data itself.
Question 42: What is the purpose of a semaphore in concurrent programming?
- To control access to a shared resource by multiple threads or processes (Correct answer)
- To detect memory leaks at runtime
- To schedule CPU time for kernel threads
- To allocate memory dynamically
Correct answer: To control access to a shared resource by multiple threads or processes
A semaphore is a synchronization primitive that controls access to shared resources by maintaining a counter and using wait/signal operations.
Question 43: What is the function of an SSL/TLS certificate?
- To cache static assets at the edge of the network
- To compress web traffic for faster delivery
- To manage user session cookies securely
- To authenticate the identity of a website and enable encrypted communication via public key infrastructure (Correct answer)
Correct answer: To authenticate the identity of a website and enable encrypted communication via public key infrastructure
An SSL/TLS certificate binds a public key to the identity of a website (verified by a Certificate Authority), enabling encrypted HTTPS connections and proving the site's authenticity.
Question 44: What distinguishes breadth-first search (BFS) from depth-first search (DFS)?
- BFS uses a stack; DFS uses a queue
- BFS visits nodes randomly; DFS visits them sorted
- BFS only works on trees; DFS only works on graphs
- BFS visits all neighbors at the current level before going deeper; DFS goes as deep as possible first (Correct answer)
Correct answer: BFS visits all neighbors at the current level before going deeper; DFS goes as deep as possible first
BFS explores a graph level by level using a queue, visiting all nodes at depth d before any node at depth d+1.
Question 45: In Big O notation, what is the time complexity of a binary search algorithm?
- O(log n) (Correct answer)
- O(n²)
- O(n)
- O(1)
Correct answer: O(log n)
Binary search has O(log n) time complexity because it halves the search space with each comparison.
Question 46: What scheduling algorithm serves the process that has been waiting the longest?
- First Come First Served (FCFS) (Correct answer)
- Round Robin
- Priority Scheduling
- Shortest Job First
Correct answer: First Come First Served (FCFS)
First Come First Served (FCFS) processes tasks in the order they arrive, giving CPU time to whichever process has been waiting longest.
Question 47: Which SOLID principle states that software entities should be open for extension but closed for modification?
- Dependency Inversion Principle
- Interface Segregation Principle
- Single Responsibility Principle
- Open/Closed Principle (Correct answer)
Correct answer: Open/Closed Principle
The Open/Closed Principle promotes extending behavior through new code (subclasses, plugins) rather than modifying existing stable code.
Question 48: What is the main goal of performance testing?
- To verify visual UI design and layout
- To check code syntax and static analysis
- To find functional defects and logic bugs
- To measure responsiveness, speed, and stability under various load conditions (Correct answer)
Correct answer: To measure responsiveness, speed, and stability under various load conditions
Performance testing evaluates how a system responds under expected and peak loads, measuring response time, throughput, and resource utilization.
Question 49: What is a deadlock in database systems?
- When two or more transactions wait indefinitely for each other's locks (Correct answer)
- When a query takes too long to execute
- When a database server goes offline
- When a database runs out of storage space
Correct answer: When two or more transactions wait indefinitely for each other's locks
A deadlock occurs when two or more transactions each hold a lock the other needs, causing all of them to wait indefinitely.
Question 50: What is the purpose of a VPN (Virtual Private Network)?
- To assign static IP addresses to network devices
- To provide wireless network access in public areas
- To create an encrypted tunnel over a public network, enabling secure private communication (Correct answer)
- To accelerate internet browsing by caching web pages
Correct answer: To create an encrypted tunnel over a public network, enabling secure private communication
A VPN creates an encrypted connection (tunnel) over the internet, allowing remote users to securely access a private network as if they were physically connected to it.
Question 51: What is a linked list?
- A hash table with sorted integer keys
- A dynamically resizing array
- A linear data structure where each node contains data and a pointer to the next node (Correct answer)
- A tree with exactly one root and one level
Correct answer: A linear data structure where each node contains data and a pointer to the next node
A linked list is a chain of nodes where each node stores data and a reference (pointer) to the next node in the sequence.
Question 52: What is paging in memory management?
- Swapping entire processes to disk storage
- Compressing memory contents to save space
- Allocating contiguous memory blocks to each process
- Dividing memory into fixed-size frames and mapping process pages to them (Correct answer)
Correct answer: Dividing memory into fixed-size frames and mapping process pages to them
Paging divides physical memory into fixed-size frames and process memory into equal-sized pages, allowing non-contiguous memory allocation.
Question 53: What is the time complexity of merge sort in all cases?
- O(n)
- O(log n)
- O(n²)
- O(n log n) (Correct answer)
Correct answer: O(n log n)
Merge sort guarantees O(n log n) in best, average, and worst cases because it always divides the array in half and merges linearly.
Question 54: What does CMMI stand for?
- Critical Modeling Maturity Integrated
- Capability Modeling Maturity Integrated
- Capability Maturity Model Integrated (Correct answer)
- Critical Maturity Model Integrated
Correct answer: Capability Maturity Model Integrated
CMMI stands for Capability Maturity Model Integration, which is a globally recognized framework for process improvement. It provides organizations with guidance on how to improve their processes for developing, acquiring, and maintaining products and services, leading to enhanced performance and quality.
Question 55: In operating systems, what does virtual memory allow?
- Sharing memory between different physical machines
- Encrypting memory contents for security
- Programs to use more memory than physically available by using disk storage as an extension of RAM (Correct answer)
- Running programs faster by bypassing the CPU cache
Correct answer: Programs to use more memory than physically available by using disk storage as an extension of RAM
Virtual memory extends physical RAM using disk space (swap), allowing processes to use address spaces larger than available physical memory.
Question 56: What is the key difference between a process and a thread?
- Threads share memory within a process; processes have separate memory spaces (Correct answer)
- Processes are faster than threads
- Threads are used in databases; processes in web servers
- Processes are smaller in size than threads
Correct answer: Threads share memory within a process; processes have separate memory spaces
Threads are lightweight execution units within a process that share the same memory space, while separate processes have isolated memory.
Question 57: In a relational database, the property that ensures a transaction is fully completed or not applied at all is called:
- Consistency
- Atomicity (Correct answer)
- Durability
- Isolation
Correct answer: Atomicity
Atomicity is the ACID property guaranteeing that each transaction is treated as a single indivisible unitāeither all operations succeed or none are applied.
Question 58: A developer notices that three classes all duplicate the same 20-line validation logic. Which refactoring best addresses this?
- Extract Superclass with shared method
- Replace Conditional with Polymorphism
- Inline Method
- Move Method to a new shared utility class (Correct answer)
Correct answer: Move Method to a new shared utility class
Moving the duplicated validation to a shared utility class eliminates repetition and ensures a single point of maintenance for that logic.
Question 59: What does the CAP theorem state about distributed databases?
- Caching, Archiving, and Processing are the core database operations
- Consistency, Availability, and Partition tolerance cannot all be guaranteed simultaneously (Correct answer)
- Compression, Authentication, and Performance are the key metrics
- Create, Access, and Persist define the fundamental database operations
Correct answer: Consistency, Availability, and Partition tolerance cannot all be guaranteed simultaneously
The CAP theorem states that a distributed system can only guarantee two of three properties: Consistency, Availability, and Partition tolerance.
Question 60: Which CPU scheduling algorithm selects the process with the shortest expected execution time next?
- First-Come, First-Served (FCFS)
- Priority Scheduling
- Round Robin
- Shortest Job First (SJF) (Correct answer)
Correct answer: Shortest Job First (SJF)
Shortest Job First (SJF) schedules the process with the smallest estimated execution time next, minimizing average waiting time.
Question 61: What is a subnet mask used for in networking?
- Dividing an IP network into smaller subnetworks (Correct answer)
- Filtering web content at the router
- Encrypting network traffic between devices
- Assigning MAC addresses to network interfaces
Correct answer: Dividing an IP network into smaller subnetworks
A subnet mask divides an IP address into network and host portions, enabling the logical subdivision of an IP network into subnets.
Question 62: Who co-authored the influential book 'The Pragmatic Programmer'?
- Martin Fowler and Eric Evans
- Andrew Hunt and David Thomas (Correct answer)
- Donald Knuth and Edsger Dijkstra
- Robert C. Martin and Kent Beck
Correct answer: Andrew Hunt and David Thomas
'The Pragmatic Programmer' was written by Andrew Hunt and David Thomas, first published in 1999.
Question 63: What is a database index and what does it improve?
- A data structure that improves query performance (Correct answer)
- A list of all tables
- A primary key constraint
- A backup of the database
Correct answer: A data structure that improves query performance
A database index is a data structure that provides fast lookup of data based on column values, significantly improving SELECT query performance.
Question 64: Which SQL command is used to remove all rows from a table while keeping the table structure intact?
- DROP
- TRUNCATE (Correct answer)
- DELETE
- REMOVE
Correct answer: TRUNCATE
TRUNCATE removes all rows from a table quickly without logging individual row deletions, but preserves the table schema.
Question 65: Which protocol is used to securely transfer files between a client and server over SSH?
- FTPS
- FTP
- HTTP
- SFTP (Correct answer)
Correct answer: SFTP
SFTP (SSH File Transfer Protocol) uses SSH encryption to securely transfer files between client and server.
Question 66: It consistently depicts a system that is changing.
- Static system models
- Schematic Models
- Dynamic system models (Correct answer)
- Flow system models
Correct answer: Dynamic system models
Dynamic system models are representations that illustrate how a system changes and behaves over time, focusing on its processes, interactions, and state transitions. Unlike static models, they capture the evolving nature of a system, depicting its response to events and inputs.
Question 67: What does the OSI model stand for?
- Open Systems Interconnection (Correct answer)
- Operational Software Interface
- Open Security Infrastructure
- Object-oriented Systems Integration
Correct answer: Open Systems Interconnection
The Open Systems Interconnection (OSI) model is a conceptual framework with seven layers that standardizes how different network systems communicate.
Question 68: What is the main difference between a process and a thread?
- Processes share memory; threads do not
- Threads run on separate CPUs; processes run on a single CPU
- Threads share the same memory space within a process; processes have separate memory spaces (Correct answer)
- Processes are faster to create than threads
Correct answer: Threads share the same memory space within a process; processes have separate memory spaces
Threads within the same process share the same address space and resources, while separate processes have independent memory spaces.
Question 69: In software requirement engineering, a use case diagram primarily illustrates:
- The sequence of method calls in a process
- The internal class structure of the system
- Interactions between actors and the system's functional requirements (Correct answer)
- The deployment topology of servers and components
Correct answer: Interactions between actors and the system's functional requirements
Use case diagrams show the functional requirements of a system by depicting which actors interact with which use cases, giving a high-level behavioral view.
Question 70: What is the name of the famous software engineering principle that states classes should be open for extension but closed for modification?
- Open/Closed Principle (Correct answer)
- Liskov Substitution Principle
- Single Responsibility Principle
- Dependency Inversion Principle
Correct answer: Open/Closed Principle
The Open/Closed Principle, part of SOLID, states software entities should be open for extension but closed for modification.
Question 71: Which network layer of the OSI model is responsible for end-to-end communication and error recovery between hosts?
- Network layer
- Session layer
- Data Link layer
- Transport layer (Correct answer)
Correct answer: Transport layer
The Transport layer (Layer 4) handles end-to-end communication, flow control, and error recovery using protocols like TCP.
Question 72: What is the TCP/IP transport layer responsible for?
- End-to-end communication and reliability between applications (Correct answer)
- Routing packets between networks
- Encoding data for physical transmission
- Resolving domain names to IP addresses
Correct answer: End-to-end communication and reliability between applications
The transport layer (TCP/UDP) provides end-to-end communication between applications, handling reliable delivery and flow control.
Question 73: Which of the following best describes a strongly typed programming language?
- A language that enforces type constraints and restricts implicit type conversions (Correct answer)
- A language that compiles exclusively to native machine code
- A language that requires explicit type declarations for all variables
- A language that uses only integer and floating-point types
Correct answer: A language that enforces type constraints and restricts implicit type conversions
A strongly typed language enforces type constraints at compile or runtime and does not allow implicit coercions between incompatible types.
Question 74: What is a process in an operating system?
- A system call to the kernel
- A type of file system entry
- A program in execution with its own memory space and resources (Correct answer)
- A stored program on disk
Correct answer: A program in execution with its own memory space and resources
A process is an instance of a program in execution, with its own memory address space, program counter, and allocated system resources.
Question 75: What is boundary value analysis in software testing?
- Measuring cyclomatic complexity boundaries in code
- Testing all REST API endpoint boundaries
- Analyzing architectural boundaries between software components
- Testing values at the edges of valid input ranges (Correct answer)
Correct answer: Testing values at the edges of valid input ranges
Boundary value analysis tests values at exact input boundaries (minimum, maximum, and just outside them) where defects are most likely to occur.
Question 76: What is the purpose of DNS (Domain Name System)?
- To encrypt web traffic between client and server
- To translate human-readable domain names into IP addresses (Correct answer)
- To manage IP address allocation across a network
- To route packets between different networks
Correct answer: To translate human-readable domain names into IP addresses
DNS acts as the internet's phone book, translating domain names like www.example.com into the IP addresses computers use to communicate.
Question 77: What does Big O notation describe in algorithm analysis?
- The upper bound of an algorithm's time or space complexity as input size grows (Correct answer)
- The required network bandwidth for an application
- The quality score of production code
- The number of known bugs in a codebase
Correct answer: The upper bound of an algorithm's time or space complexity as input size grows
Big O notation describes the upper bound of an algorithm's growth rate in time or space relative to input size, ignoring constants.
Question 78: In microservices architecture, what is the primary benefit of service decomposition?
- Centralized data
- Increased coupling
- Single codebase
- Independent deployability (Correct answer)
Correct answer: Independent deployability
Microservices allow each service to be independently developed, deployed, and scaled without affecting other services.
Question 79: What is the worst-case time complexity of quicksort?
- O(n log n)
- O(log n)
- O(n²) (Correct answer)
- O(n)
Correct answer: O(n²)
Quicksort degrades to O(n²) in the worst case when the pivot consistently produces maximally unbalanced partitions, such as on already-sorted input.
Question 80: What is the purpose of a 'mutex' in concurrent programming?
- To serialize network packets
- To allocate memory blocks
- To prevent simultaneous access to a shared resource (Correct answer)
- To compress data streams
Correct answer: To prevent simultaneous access to a shared resource
A mutex (mutual exclusion lock) prevents multiple threads from simultaneously accessing a shared resource, avoiding race conditions.
Question 81: In file systems, what is an inode?
- An entry in the directory listing of a file
- A virtual device driver for storage
- A data structure storing metadata about a file (permissions, size, timestamps) but not the file name (Correct answer)
- A block of data storing file contents
Correct answer: A data structure storing metadata about a file (permissions, size, timestamps) but not the file name
An inode is a data structure in Unix-like file systems that contains metadata about a file, such as ownership, permissions, size, and pointers to data blocks, but not the filename itself.
Question 82: Which testing type validates that individual components work correctly when integrated together?
- Acceptance testing
- Unit testing
- Integration testing (Correct answer)
- Regression testing
Correct answer: Integration testing
Integration testing verifies that multiple components or services work correctly when combined, catching interface and data-passing errors.
Question 83: What does the GROUP BY clause do in SQL?
- Groups rows sharing a common value for aggregate functions (Correct answer)
- Joins multiple tables
- Filters rows based on conditions
- Sorts results in ascending order
Correct answer: Groups rows sharing a common value for aggregate functions
GROUP BY groups rows that have the same values in specified columns, enabling aggregate functions like COUNT, SUM, and AVG per group.
Question 84: Which protocol is used to automatically assign IP addresses to devices on a network?
- FTP
- DHCP (Correct answer)
- ARP
- SNMP
Correct answer: DHCP
DHCP (Dynamic Host Configuration Protocol) automatically assigns IP addresses, subnet masks, default gateways, and DNS servers to devices joining a network.
Question 85: What is the primary advantage of a layered architecture?
- Faster performance
- Reduced number of classes
- Separation of concerns with clear layer responsibilities (Correct answer)
- Easier database access
Correct answer: Separation of concerns with clear layer responsibilities
Layered architecture separates concerns across presentation, business logic, and data layers, making systems easier to maintain and test.
Question 86: What data structure uses LIFO (Last In, First Out) ordering?
- Binary Tree
- Queue
- Linked List
- Stack (Correct answer)
Correct answer: Stack
A stack uses LIFO ordering where the last element pushed is the first one popped, like a stack of plates.
Question 87: What is dynamic programming?
- An optimization technique solving problems by breaking them into overlapping subproblems and caching results (Correct answer)
- A programming paradigm like object-oriented design
- Real-time data stream processing
- Programming that modifies itself at runtime
Correct answer: An optimization technique solving problems by breaking them into overlapping subproblems and caching results
Dynamic programming solves problems by breaking them into overlapping subproblems, storing results (memoization) to avoid redundant computation.
Question 88: What is a transaction in database systems?
- A SQL SELECT query
- A logical unit of work that must be completed entirely or not at all (Correct answer)
- A schema update operation
- A database backup operation
Correct answer: A logical unit of work that must be completed entirely or not at all
A transaction is a sequence of database operations treated as a single logical unit, following ACID properties for reliability.
Question 89: What is the time complexity of inserting an element at the beginning of an array?
- O(log n)
- O(1)
- O(n²)
- O(n) (Correct answer)
Correct answer: O(n)
Inserting at the beginning of an array requires shifting all n existing elements one position to the right, resulting in O(n) time.
Question 90: A database query inside a loop runs N times for N records. This is known as what problem?
- Deadlock
- N+1 query problem (Correct answer)
- Buffer overflow
- Race condition
Correct answer: N+1 query problem
The N+1 query problem occurs when code executes one query to get N items and then N additional queries for related data, causing severe performance degradation.
Question 91: A software development team has a specified leader who organizes specific tasks and deputy leaders who are responsible for subtasks.
- Controlled centralized (CC)
- Democratic decentralized (DD)
- None of the mentioned
- Controlled decentralized (CD) (Correct answer)
Correct answer: Controlled decentralized (CD)
In a Controlled Decentralized (CD) team structure, there is a clearly defined leader who manages the overall project and assigns specific tasks. However, sub-teams or deputy leaders are given significant autonomy and responsibility for managing their respective subtasks. This model combines centralized coordination with decentralized execution, allowing for efficient project management while empowering smaller units.
Question 92: In Big-O notation, which time complexity describes an algorithm whose running time doubles with each additional element in the input?
- O(n²)
- O(n log n)
- O(2āæ) (Correct answer)
- O(log n)
Correct answer: O(2āæ)
O(2āæ) is exponential complexity, meaning each additional input element doubles the number of operations, as seen in naive recursive Fibonacci.
Question 93: What is the average-case time complexity of hash table insertion with a good hash function?
- O(n log n)
- O(n)
- O(n²)
- O(1) (Correct answer)
Correct answer: O(1)
Hash table insertion averages O(1) time complexity because a good hash function distributes keys uniformly, minimizing collisions.
Question 94: What pattern allows incompatible interfaces to work together?
- Proxy
- Adapter (Correct answer)
- Facade
- Bridge
Correct answer: Adapter
The Adapter pattern converts the interface of a class into another interface that clients expect, enabling compatibility.
Question 95: What is Inter-Process Communication (IPC)?
- A hardware interrupt mechanism
- A protocol for network communication between servers
- Mechanisms that allow processes to exchange data and synchronize actions (Correct answer)
- A method for CPUs to communicate with GPUs
Correct answer: Mechanisms that allow processes to exchange data and synchronize actions
IPC refers to OS mechanismsāsuch as pipes, message queues, shared memory, and socketsāthat allow separate processes to communicate and coordinate.
Question 96: What does ORM stand for in software development?
- Optimized Read Model
- Object Response Method
- Open Resource Management
- Object Relational Mapping (Correct answer)
Correct answer: Object Relational Mapping
Object Relational Mapping (ORM) converts data between object-oriented programming languages and relational databases automatically.
Question 97: Which data structure operates on a Last-In, First-Out (LIFO) principle?
- Deque
- Stack (Correct answer)
- Queue
- Heap
Correct answer: Stack
A stack follows the LIFO principle, meaning the last element added is the first one removed, like a stack of plates.
Question 98: In software project management, the critical path of a project network is defined as:
- The path with the highest risk tasks
- The path with the most expensive tasks
- The longest path from start to finish that determines the minimum project duration (Correct answer)
- The shortest path from start to finish in the task network
Correct answer: The longest path from start to finish that determines the minimum project duration
The critical path is the longest sequence of dependent tasks, and any delay on this path directly delays the entire project completion.
Question 99: What software engineering practice uses automated tools to check code style, potential bugs, and security vulnerabilities before merging?
- Smoke testing
- Static analysis / linting (Correct answer)
- Load testing
- Penetration testing
Correct answer: Static analysis / linting
Static analysis tools examine source code without executing it, flagging style violations, potential bugs, and security issues at development time.
Question 100: A developer commits code containing a hardcoded API key in a public repository. What is the first remediation step?
- Set the repository to private
- Revert the last commit locally
- Delete the commit message
- Revoke and rotate the exposed key immediately (Correct answer)
Correct answer: Revoke and rotate the exposed key immediately
Once a secret is committed to a public repository it must be treated as compromised; rotating the key immediately limits potential damage.
Bachelor of Software Engineering (B.S.W.E.) Comprehensive Exit Exam
The B.S.W.E. exit exam assesses graduating software engineering students across core computing disciplines including algorithms, data structures, operating systems, computer networks, database systems, and software engineering principles.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong ā answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds