SDLC & Agile Methodologies
Requirements & Architecture
OOP & Design Principles
Testing & Technical Debt
Databases, APIs & Git
100

This framework focuses on iterative development, delivering working software in short, fixed-length timeboxes called Sprints.

What is Scrum

100

The system must process transactions within 2 seconds" is an example of this requirement type, which specifies system performance rather than specific features.

What is a Non-Functional Requirement?

100

This software development principle advises developers against adding functionality until it is actually needed.

What is YAGNI

100

This level of testing focuses on testing individual functions, methods, or components in total isolation.

What is Unit Testing?

100

This SQL clause combines rows from two or more tables based on a related column between them.

What is JOIN

200

In Scrum, this role is responsible for defining user stories, prioritizing the product backlog, and representing the stakeholders.

Who is the Product Owner?

200

This classic architectural pattern divides an application into three interconnected parts: data logic, user interface, and input handling.

What is Model-View-Controller (MVC)?

200

This core object-oriented programming concept allows objects of different classes to respond to the same method call in unique ways.

What is Polymorphism?

200

This term refers to the implied future cost of extra rework caused by choosing an easy or quick code solution now instead of a well-architected one.

What is Technical Debt?

200

In relational databases, this is a column or group of columns in one table that links directly to the Primary Key of another table.

What is a Foreign Key?

300

This visual project management tool uses cards and columns (such as To Do, In Progress, Done) to limit work-in-progress and maximize workflow efficiency.

What is Kanban?

300

This architectural style structures an application as a collection of small, independently deployable, loosely coupled services organized around business capabilities.

What are Microservices?

300

This design principle suggests favoring class references and references to interfaces over subclassing to create more flexible, maintainable code.

What is Composition Over Inheritance?

300

In testing theory, this term asks "Are we building the product right?", while this second term asks "Are we building the right product?"

What are Verification and Validation?

300

Executing git add . moves your current project changes into this intermediate area before a commit is created.

What is the Staging Area (or Index)?

400

Published in 2001, this core document prioritizes individuals and interactions over processes and tools, and working software over comprehensive documentation.

What is the Agile Manifesto?

400

Class, Component, and Deployment diagrams belong to this broad category of UML diagrams because they represent the static layout of a system

What are Structural UML Diagrams?

400

The "S" in SOLID principles states that a single class or module should have only one reason to change.

What is the Single Responsibility Principle (SRP)?

400

This practice involves restructuring existing source code without changing its external behavior to improve non-functional attributes like readability and complexity.

What is Refactoring?

400

This set of rules and protocols allows different software applications to communicate and exchange data with one another.

What is an API

500

In requirements engineering, this framework uses five key concepts—World, Requirements, Specifications, Programs, and Machine—to bridge problem space to solution space.

What is the WRSPM model?

500

This software design principle involves breaking a system into separate, independent sections so that each section addresses a distinct, isolated concern.

What is Separation of Concerns (or Modularity)?

500

This term describes the gap between the real-world problem space and the code implementation space in a developer's mind.

What is Intellectual Distance?

500

According to Edsger Dijkstra's famous rule, software testing can prove the presence of bugs, but can never prove this.

What is their absence (or that software is bug-free)?

500

This Git command uploads local branch commits to a remote repository

What is git push

M
e
n
u