Quiz Bank
70 Knowledge Check Questions
Filter by week or run through the full bank. Answers are checked instantly in the browser.
Week 1
What is software design mainly concerned with?
Week 1
A program with all logic in one function may be okay for a tiny exercise, but becomes risky because:
Week 1
Architecture usually refers to:
Week 1
A good early design question is:
Week 1
Good design should make software:
Week 2
A functional requirement describes:
Week 2
An acceptance criterion is useful because it:
Week 2
“The page loads in under two seconds” is a:
Week 2
An assumption should be:
Week 2
A constraint is:
Week 3
High cohesion means:
Week 3
Low coupling means:
Week 3
A god class is usually a class that:
Week 3
A good decomposition should be based mostly on:
Week 3
Separation of concerns helps because:
Week 4
Encapsulation helps by:
Week 4
Composition means:
Week 4
Inheritance is risky when:
Week 4
An invariant is:
Week 4
A data-only class plus one giant manager can lead to:
Week 5
SRP says a class should have:
Week 5
OCP encourages:
Week 5
LSP is mainly about:
Week 5
A growing switch statement over behavior may suggest:
Week 5
SOLID should be used:
Week 6
ISP says clients should not depend on:
Week 6
DIP says high-level policy should depend on:
Week 6
Dependency injection means:
Week 6
A good dependency to abstract is often:
Week 6
A fake object in tests can:
Week 7
DRY is mostly about avoiding duplicated:
Week 7
YAGNI warns against:
Week 7
KISS means:
Week 7
A name like processData is weak because:
Week 7
Premature abstraction can:
Week 8
A sequence diagram is best for showing:
Week 8
A class diagram is useful for showing:
Week 8
A component diagram usually shows:
Week 8
A useful diagram should:
Week 8
For this course, diagram value is measured mostly by:
Week 9
Strategy is useful when:
Week 9
Factory helps manage:
Week 9
Observer is useful for:
Week 9
Singleton should be used carefully because:
Week 9
A design pattern should be used when:
Week 10
Adapter is used to:
Week 10
Decorator is useful when:
Week 10
Command represents:
Week 10
Repository separates:
Week 10
MVC/MVVM mainly help separate:
Week 11
A unit test usually checks:
Week 11
A fake repository is useful because:
Week 11
Hard-to-test code often has:
Week 11
A test seam is:
Week 11
Tests should usually focus on:
Week 12
Architecture is mostly concerned with:
Week 12
A layered architecture usually separates:
Week 12
A monolith is:
Week 12
Microservices add complexity because:
Week 12
Architecture decisions should be judged by:
Week 13
Refactoring means:
Week 13
A code smell is:
Week 13
Shotgun surgery means:
Week 13
Technical debt is:
Week 13
Safe refactoring usually uses:
Week 14
A strong design review should explain:
Week 14
A tradeoff is:
Week 14
A good pattern explanation includes:
Week 14
A small clean capstone is:
Week 14