SDLC & Requirements
Design & Clean Code
Agile & Scrum
Software Testing
Databases, APIs & Git
100

This discipline covers requirements, design, implementation, testing, deployment, and maintenance—not just writing code.

What is software engineering? It applies a systematic engineering approach to developing and maintaining software.

100

In MVC, these three components manage application data, presentation, and input/control flow.

What are Model, View, and Controller? The Model manages data and business logic; the View presents it; the Controller handles input and coordinates actions.

100

Agile welcomes this, even late in development, when it improves customer value.

What is changing requirements? Agile adapts plans based on feedback and changing needs.

100

True or false: Passing every planned test proves that software has no defects.

What is false? Tests can reveal defects, but passing tests cannot prove the absence of every possible defect.

100

This interface lets software components request data or services using a defined contract.

What is an API (Application Programming Interface)? It defines how software components interact, including supported requests and responses.

200

Classify each requirement: (A) Users can reset their password. (B) Password-reset emails arrive within 2 seconds.

A is functional: it specifies what the system does. B is non-functional: it constrains performance or quality.

200

A class diagram shows classes and their relationships; a sequence diagram shows messages over time. Which is structural/static, and which is behavioral/dynamic?

The class diagram is structural/static. The sequence diagram is behavioral/dynamic. Activity diagrams are also behavioral/dynamic.

200

This Scrum timebox produces a usable increment and lasts one month or less.

What is a Sprint? It is a fixed-length period in which the team works toward a Sprint Goal and creates a usable increment.

200

Match each question: (A) Are we building the product right, according to its specification? (B) Are we building the right product for users?

A = verification. B = validation. Verification checks conformance to specifications; validation checks whether the product meets user needs.

200

In a relational database, distinguish a primary key from a foreign key.

A primary key uniquely identifies a row in its table. A foreign key references a key in another table (or the same table) to represent relationships and enforce referential integrity.

300

Put these SDLC activities in a sensible order: testing, requirements analysis, deployment, design, implementation.

Requirements analysis -> design -> implementation -> testing -> deployment. Maintenance follows deployment; iterative processes revisit activities.

300

A team needs small business services that can be deployed independently. Name the architecture and one tradeoff.

What is microservices architecture? It supports independent deployment, but adds distributed-system complexity such as network failures, coordination, and monitoring.

300

Match the role to the duty: (A) Orders the Product Backlog to maximize value. (B) Coaches Scrum and helps remove impediments.

A = Product Owner. B = Scrum Master. Developers plan and carry out the work needed to create the increment.

300

Name the test level: (A) One function in isolation. (B) Two modules interacting. (C) The complete application. (D) Business/user acceptance.

A = unit testing; B = integration testing; C = system testing; D = acceptance testing.

300

Match each SQL operation to its purpose: SELECT, JOIN, UPDATE, DELETE.

SELECT retrieves data; JOIN combines related rows from tables; UPDATE changes existing row values; DELETE removes rows. Use an appropriate WHERE clause to limit UPDATE or DELETE to intended rows.

400

In WRSPM, these five letters connect the problem world to the implemented system. Expand all five.

W = World; R = Requirements; S = Specification; P = Program; M = Machine.

400

A developer avoids a speculative feature and chooses the simplest adequate solution. Name the two programming principles.

What are YAGNI and KISS? YAGNI = You Aren't Gonna Need It: avoid building unneeded features. KISS = Keep It Simple, Stupid: prefer simple, understandable solutions.

400

A team visualizes work in To Do, In Progress, and Done columns, then limits work in progress. Name this workflow method and its purpose.

What is Kanban? It makes work visible and limits work in progress to improve flow and expose bottlenecks.

400

A checkout calculator passes its unit tests, but fails when it calls the payment service. Which testing level targets this problem, and why?

What is integration testing? It checks interfaces and interactions between components, such as the checkout module and payment service.

400

One tool tracks versions locally; the other hosts repositories online and supports collaboration. Name both and distinguish local from remote repositories.

What are Git and GitHub? Git is the version-control system; GitHub is a hosting/collaboration service. A local repository is on your machine; a remote repository is hosted elsewhere.

500

A door controller must unlock only for authorized users. The card reader accurately reports each card ID. In WRSPM, classify the desired access rule and the reader assumption.

The access rule is a requirement (R). Accurate card-ID reporting is a world assumption (W). A specification (S) describes the controller's observable interface behavior needed to satisfy R under W.

500

A module duplicates validation logic and hides data behind controlled methods. Name the cleanup that preserves behavior and the OOP principle used to protect the data.

What are refactoring and encapsulation? Refactoring improves internal structure without changing observable behavior; encapsulation controls access to internal state. Duplicated logic can create technical debt: future maintenance cost.

500

Name all four Agile Manifesto values, including what each is valued over.

Individuals and interactions over processes and tools; working software over comprehensive documentation; customer collaboration over contract negotiation; responding to change over following a plan. The items on the right still have value.

500

Put these STLC phases in order: test execution, test planning, test closure, requirements analysis, test-case development, test-environment setup.

Requirements analysis -> test planning -> test-case development -> test-environment setup -> test execution -> test closure. Execution includes reporting defects and checking fixes.

500

You changed files locally and must share a recorded version. Name the Git commands that stage, record, and upload the changes. Then distinguish pull from merge.

git add stages changes; git commit records a local snapshot; git push uploads commits to a remote. git pull fetches remote changes and integrates them (by merge or rebase, depending on configuration); git merge combines development histories.

M
e
n
u