Master of Software Engineering Flashcards
7 cards from real ME or MEng Master of Engineering practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 7 Master of Software Engineering flashcards as text
Which metric measures the number of linearly independent paths through a program's control flow graph?
Answer: Cyclomatic complexity
Cyclomatic complexity (V(G) = E − N + 2P) quantifies independent paths, providing a lower bound on the number of test cases needed for full branch coverage.
What distinguishes 'eventual consistency' from 'strong consistency' in distributed databases?
Answer: Strong consistency guarantees all nodes reflect the latest write immediately; eventual consistency allows temporary divergence
Strong consistency ensures all nodes see the same data at the same time, while eventual consistency allows replicas to diverge temporarily and converge over time.
In the context of software requirement engineering, what is a 'non-functional requirement' (NFR)?
Answer: A requirement that defines system qualities such as performance, security, or scalability
NFRs specify system quality attributes — how well it performs, how secure it is, how scalable — rather than what specific behaviors it exhibits.
Which Git workflow strategy maintains a single 'main' branch where all developers integrate short-lived feature branches multiple times per day?
Answer: Trunk-Based Development
Trunk-Based Development keeps all work on one main branch with very short-lived branches, enabling continuous integration and reducing merge conflicts.
What is the key difference between 'black-box testing' and 'white-box testing'?
Answer: Black-box testing tests without knowledge of internal structure; white-box testing uses knowledge of the code
Black-box testing derives test cases from specifications alone, while white-box testing designs tests based on internal code structure and logic.
Which memory management technique automatically reclaims unreachable objects by tracing references from root objects?
Answer: Tracing garbage collection
Tracing GC (e.g., mark-and-sweep) traverses all reachable objects from GC roots and reclaims anything not reached, handling cyclic references that reference counting cannot.
In RESTful API design, which HTTP method is idempotent but NOT safe?
Answer: PUT
PUT is idempotent (repeating it produces the same result) but not safe because it modifies server state, unlike GET and HEAD which are both idempotent and safe.