← All ME or MEng Master of Engineering Flashcard Decks

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
  1. Which architectural pattern separates an application into independently deployable services, each running in its own process and communicating via lightweight mechanisms?

    Answer: Microservices architecture

    Microservices architecture decomposes an application into small, independent services that communicate over APIs or message queues.

  2. In software testing, what does 'mutation testing' evaluate?

    Answer: The effectiveness of a test suite by introducing small code changes

    Mutation testing introduces small syntactic changes (mutants) to source code and checks whether existing tests detect those changes.

  3. What is the primary purpose of a software architecture's 'quality attribute utility tree' in the ATAM method?

    Answer: To prioritize and refine quality attribute scenarios for architectural evaluation

    The utility tree in ATAM structures and prioritizes quality attributes (e.g., performance, security) into concrete, testable scenarios.

  4. Which concurrency model does Go (Golang) use to avoid shared-state race conditions?

    Answer: Communicating Sequential Processes (CSP) with goroutines and channels

    Go implements CSP, where goroutines communicate by passing messages through channels rather than sharing memory.

  5. In database systems, what anomaly does the SERIALIZABLE isolation level prevent that READ COMMITTED does not?

    Answer: Phantom reads

    SERIALIZABLE prevents phantom reads — new rows inserted by concurrent transactions becoming visible within the same transaction — which READ COMMITTED allows.

  6. What does the 'L' in the SOLID principles stand for, and what does it require?

    Answer: Liskov Substitution — subtypes must be substitutable for their base types without altering correctness

    The Liskov Substitution Principle states that objects of a subclass must behave correctly wherever the superclass is expected.

  7. Which technique does a compiler use to eliminate redundant load/store operations by keeping variable values in registers across multiple expressions?

    Answer: Register allocation via graph coloring

    Register allocation assigns program variables to a limited set of CPU registers, often modeled as a graph-coloring problem to minimize memory accesses.