Mixed Deck — All B.S.W.E. Bachelor of Software Engineering Topics Flashcards
100 cards from real B.S.W.E. Bachelor of Software Engineering practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 20 Mixed Deck — All B.S.W.E. Bachelor of Software Engineering Topics flashcards as text
The process of conducting analysis and creating documents is known as ______.
Answer: Reverse engineering
Reverse engineering is the process of analyzing a system or software to understand its design, architecture, and functionality, often without access to original design documents. This involves examining the existing code or system to extract information and create documentation, essentially working backward from the finished product to its specifications and underlying principles.
What is the main goal of performance testing?
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.
What is the role of the kernel in an operating system?
Answer: Acting as the core that manages hardware resources and system calls
The kernel is the OS core that manages CPU, memory, and I/O resources, providing system calls as the interface between applications and hardware.
In operating systems, what does virtual memory allow?
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.
What is the main purpose of HTTPS over plain HTTP?
Answer: Encrypted, secure communication using TLS/SSL
HTTPS uses TLS/SSL encryption to provide authenticated and encrypted communication, protecting data integrity and confidentiality over the web.
In file systems, what is an inode?
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.
What is a database index and what does it improve?
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.
What does the CAP theorem state about distributed databases?
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.
What is unit testing?
Answer: Testing individual functions or components in isolation
Unit testing involves testing individual units of code (functions or methods) in isolation from the rest of the system to verify correctness.
What is a hash table?
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.
In the Decorator pattern, what is the main mechanism used?
Answer: Composition to wrap objects with additional behaviors
The Decorator pattern uses composition to dynamically wrap objects with new responsibilities without modifying their class.
Which branch strategy is best suited for teams practicing continuous delivery with frequent small releases?
Answer: Trunk-based development
Trunk-based development encourages committing directly to main with short-lived branches, minimizing merge conflicts and enabling continuous delivery.
What is the difference between WHERE and HAVING in SQL?
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.
What is the purpose of a 'mutex' in concurrent programming?
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.
Which HTTP method is idempotent and used to update or create a resource at a specific URI?
Answer: PUT
PUT is idempotent and replaces the entire resource at the specified URI; calling it multiple times produces the same result as calling it once.
What is the Observer pattern used for?
Answer: Notifying multiple objects about state changes
The Observer pattern defines a one-to-many dependency where multiple observers are automatically notified when the subject's state changes.
What is equivalence partitioning in software testing?
Answer: Dividing input data into groups expected to behave identically for testing
Equivalence partitioning divides input data into partitions where all values within a partition are expected to produce the same behavior, reducing test case count.
A pull request shows a method that catches a generic Exception and silently swallows it. What risk does this introduce?
Answer: Hidden failures that become impossible to diagnose
Swallowing exceptions hides errors silently, preventing logging, alerting, and proper error handling, making bugs extremely difficult to diagnose.
In software requirement engineering, a use case diagram primarily illustrates:
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.
What is the primary purpose of a staging environment in a software delivery pipeline?
Answer: To mirror production for final validation before release
A staging environment replicates production conditions so teams can validate releases, run integration tests, and catch issues before going live.