Software Development Concepts Flashcards
7 cards from real ICT practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.
Read the first 7 Software Development Concepts flashcards as text
Which design pattern ensures a class has only one instance and provides a global access point to it?
Answer: Singleton
The Singleton pattern restricts instantiation of a class to a single object and provides a static method to access it.
In version control, what does 'rebasing' a branch accomplish?
Answer: Moves or replays commits onto a new base commit
Rebasing re-applies commits from one branch on top of another, resulting in a linear commit history.
What is the primary purpose of a code linter?
Answer: Analyze code for stylistic and programmatic errors
A linter statically analyzes code to flag programming errors, bugs, stylistic issues, and suspicious constructs.
Which principle does the 'D' in SOLID stand for?
Answer: Dependency Inversion Principle
The Dependency Inversion Principle states that high-level modules should not depend on low-level modules; both should depend on abstractions.
What does 'technical debt' refer to in software development?
Answer: The accumulated cost of shortcuts and suboptimal code decisions
Technical debt represents the future cost of rework required because quick, easy solutions were chosen over better long-term approaches.
In a REST API, which HTTP method is idempotent and used to fully replace a resource?
Answer: PUT
PUT is idempotent and replaces the entire resource at the specified URI, while PATCH only partially updates it.
What is 'pair programming' in agile development?
Answer: Two developers sharing one workstation, collaborating on the same code simultaneously
Pair programming has two developers sharing one workstation — one writes code (driver) while the other reviews in real time (navigator).