SDLC Basics
Requirements & Design
Testing
Implementation & OOP
Agile, DB & Git
100

This acronym describes the process phases: Concept, Requirements, Design, Development, Test, and Maintenance.

What is the SDLC (Software Development Life Cycle)?

100

This type of requirement describes what a system should do, as opposed to how well it performs.

What is a functional requirement?

100

This is the software-testing equivalent of the SDLC -- its phases include planning, test case design, environment setup, execution, and closure.

What is the STLC (Software Testing Life Cycle)?

100

This clean-code principle advises "You Aren't Gonna Need It" -- don't build functionality until it's actually required.

What is YAGNI?

100

This Agile Manifesto core value favors "individuals and interactions" over this alternative.

What are processes and tools?

200

Which SDLC phase produces the "Software Requirements Specification" as its output?

What is the Requirements phase?

200

This type of requirement describes performance, security, and usability qualities rather than specific features.

What is a non-functional requirement?

200

This type of testing checks individual components or functions in isolation from the rest of the system.

What is unit testing?

200

This is the implied cost of extra rework caused by choosing a quick, easy solution now instead of a better long-term one.

What is technical debt?

200

This is a fixed time-box (often 1-4 weeks) during which a Scrum team completes a defined set of work.

What is a Sprint?

300

This SDLC phase's output is a "software design description" that shows how the software will meet requirements.

What is the Design phase?

300

This architecture pattern separates an application into Model, View, and Controller components.

What is MVC?

300

This concept asks "are we building the product right?" -- checking that it matches its specifications.

What is verification?

300

This OOP principle involves bundling data and methods together while restricting direct access to some of an object's components.

What is encapsulation?

300

In SQL, this command is used to retrieve data from a database table.

What is SELECT?

400

This SDLC phase's output is "test reports" that demonstrate requirements are satisfied.

What is the Test (Testing) phase?

400

UML diagrams that show static structure, like class diagrams, belong to this category (as opposed to behavioral diagrams).

What are structural diagrams?

400

This concept asks "are we building the right product?" -- checking that it meets the user's actual needs.

What is validation?

400

This design guideline suggests building objects by combining simpler ones rather than creating deep inheritance hierarchies.

What is composition over inheritance?

400

This type of database key is a field that references the primary key of another table, creating a relationship between them.

What is a foreign key?

500

Beyond writing code, a software engineer also does requirements gathering, design, testing, deployment, and this ongoing final SDLC activity.

What is maintenance?

500

This term describes the gap between a real-world problem and its software solution -- good design aims to minimize it.

What is intellectual distance?

500

Besides unit testing, name this type of testing that checks how multiple components work together after being combined.

What is integration testing?

500

Refactoring means restructuring existing code to improve readability and maintainability without changing this.

What is the code's external behavior?

500

Git is the version control system itself, while this is a cloud platform used to host Git repositories.

What is GitHub?