Designing, building, and maintaining software.
Answer five questions about Software Engineering and get instant feedback.
Question 1
What describes something someone needs the software to do?
Answer options
- A requirement
- A design
- A test case
- A bug report
Key Idea
Good requirements are clear and testable, like "When I click Save, the app stores my changes within 2 seconds", so the team can build it and verify it works.
Question 2
The big picture of how a system is put together
Answer options
- Architecture
- Source code
- Implementation
- Algorithm
Key Idea
Architecture is the set of big design decisions, like splitting a system into services and choosing how they communicate, that shapes performance, reliability, and how easy it is to change later.
Question 3
This image question appears in the interactive quiz.
Answer options
- Branch
- Release
- Build
- Artifact
Key Idea
A branch lets work diverge from the main code line without immediately disrupting it.
Question 4
This image question appears in the interactive quiz.
Answer options
- Monolith
- Component
- Dependency
- Microservice
Key Idea
A monolith keeps one codebase together, simplifying some changes while coupling many functions.
Question 5
A codebase becomes easier to change when many parts depend on hidden assumptions.
Answer options
Key Idea
A codebase becomes harder to change when many parts depend on hidden assumptions. Hidden assumptions create tight coupling across modules, so a small change triggers cascading breakage; making assumptions explicit via contracts, types, and focused tests restores safe, local reasoning.