Each question below shows the correct answer with a full explanation. Use these to build conceptual understanding before attempting a timed quiz.
Software Development PracticesEasy
Q1. What is agile development?
- A.A programming language designed for rapid application development tasks
- B.An iterative approach emphasizing collaboration and short delivery cycles✓ Correct
- C.A testing method for validating software behavior against requirements
- D.Developing software as fast as possible without any planning at all
Explanation
Agile uses iterative sprints, continuous feedback, and adaptive planning to deliver working software incrementally.
Report an error in this question
Software Development PracticesEasy
Q2. What is version control?
- A.Tracking and managing code changes over time✓ Correct
- B.Controlling which program version users access
- C.A testing tool for validating software behavior
- D.A deployment tool for releasing code to servers
Explanation
Version control tracks all changes to source code, allowing collaboration and reverting to previous versions.
Report an error in this question
Software Development PracticesEasy
Q3. What is Git?
- A.A distributed version control system for code✓ Correct
- B.A general-purpose programming language
- C.A database for storing application data
- D.A compiler for translating source to binaries
Explanation
Git is a distributed version control system that tracks changes in source code.
Report an error in this question
Software Development PracticesEasy
Q4. What is a merge in Git?
- A.Creating a new commit in the repository
- B.Splitting code into separate source files
- C.Combining changes from one branch into another✓ Correct
- D.Deleting a branch from the repository
Explanation
Merging integrates changes from one branch into another.
Report an error in this question
Software Development PracticesEasy
Q5. What is a branch in Git?
- A.An independent line of development from main✓ Correct
- B.A variable used to store temporary values
- C.A copy of a file in the project directory
- D.A function defined in the source code file
Explanation
A branch is a separate line of development allowing work without affecting the main codebase.
Report an error in this question
Software Development PracticesEasy
Q6. What is a code review?
- A.Deleting unused code from the codebase
- B.Having developers examine code before merging✓ Correct
- C.Writing documentation for the application
- D.Running automated tests on the source code
Explanation
Code review is the systematic examination of source code by peers to find bugs and improve quality.
Report an error in this question
Software Development PracticesEasy
Q7. What is a commit in version control?
- A.A deployment to the production environment
- B.A branch created for feature development
- C.Deleting code from the shared repository
- D.A snapshot of changes saved with a message✓ Correct
Explanation
A commit records a set of changes to the repository with a descriptive message.
Report an error in this question
Software Development PracticesEasy
Q8. What is a pull request?
- A.A data request sent to a server for information
- B.A build request to compile and package the application
- C.Pulling code packages from the internet registry
- D.A request to merge changes with review and discussion✓ Correct
Explanation
A pull request proposes merging changes, providing a platform for code review and discussion.
Report an error in this question
Software Development PracticesEasy
Q9. What is the purpose of code comments?
- A.To define variables inside the source file
- B.To make the code execute faster at runtime
- C.To handle errors during program execution
- D.To explain the intent and reasoning in code✓ Correct
Explanation
Comments explain why code exists and clarify complex logic, aiding maintenance.
Report an error in this question
Software Development PracticesMedium
Q10. What is Continuous Integration (CI)?
- A.A deployment method for releasing code directly to production servers
- B.Integrating code changes only once at the very end of development
- C.A branching strategy for organizing feature development work in Git
- D.Frequently merging code with automated builds and tests for feedback✓ Correct
Explanation
CI involves frequently integrating code with automated builds and tests to catch issues early.
Report an error in this question
Software Development PracticesMedium
Q11. What is Continuous Deployment/Delivery (CD)?
- A.Automatically deploying or making release-ready every passing change✓ Correct
- B.A testing strategy for validating software behavior before release
- C.A branching model for organizing development work into branches
- D.Manual deployment performed by operations team members only
Explanation
Continuous Delivery ensures code is always release-ready; Continuous Deployment automatically pushes passing changes to production.
Report an error in this question
Software Development PracticesEasy
Q12. What is documentation in software development?
- A.Only code comments written inside source files
- B.Written descriptions of software design and usage✓ Correct
- C.A testing tool for validating software correctness
- D.A deployment process for releasing to production
Explanation
Documentation explains the software's purpose, architecture, API, and usage instructions.
Report an error in this question
Software Development PracticesMedium
Q13. What is a sprint in Scrum?
- A.A fixed-length iteration for completing prioritized tasks✓ Correct
- B.A deployment window for releasing features to production
- C.A programming technique for optimizing code performance
- D.Running fast to meet project deadlines under pressure
Explanation
A sprint is a time-boxed iteration in Scrum methodology for completing prioritized tasks.
Report an error in this question
Software Development PracticesMedium
Q14. What is a code smell?
- A.Malicious code injected by an attacker into the system
- B.A runtime bug that crashes the application unexpectedly
- C.A surface indication suggesting a deeper design problem✓ Correct
- D.A syntax error detected during the compilation process
Explanation
A code smell suggests a deeper design problem, indicating refactoring is needed.
Report an error in this question
Software Development PracticesMedium
Q15. What is the YAGNI principle?
- A.A testing approach for validating code correctness
- B.A design pattern for creating reusable components
- C.A programming language for building applications
- D.Do not implement functionality until actually needed✓ Correct
Explanation
YAGNI advises against adding functionality based on speculation about future needs.
Report an error in this question
Software Development PracticesMedium
Q16. What is the KISS principle?
- A.A security principle for protecting sensitive user data
- B.A greeting or expression of affection between people
- C.A testing method for validating software behavior fully
- D.Keep It Simple: avoid unnecessary complexity in design✓ Correct
Explanation
KISS advocates simplicity in design, avoiding unnecessary complexity.
Report an error in this question
Software Development PracticesMedium
Q17. What is technical debt?
- A.Financial debt from purchasing technology equipment
- B.Server costs for hosting applications in the cloud
- C.The cost of future rework from choosing quick solutions✓ Correct
- D.A type of bug caused by incorrect logic in the code
Explanation
Technical debt accumulates when shortcuts save time now but require more effort later.
Report an error in this question
Software Development PracticesMedium
Q18. What is pair programming?
- A.Programming alone without any collaboration at all
- B.Writing duplicate code for redundancy and safety nets
- C.Two developers at one workstation: driver and navigator✓ Correct
- D.Programming with matched pairs of source code files
Explanation
Pair programming has two developers working together: the driver writes code while the navigator reviews.
Report an error in this question
Software Development PracticesMedium
Q19. What is the difference between waterfall and agile methodologies?
- A.Agile has no planning or structure and relies entirely on improvisation
- B.There is no meaningful difference between the two methodologies at all
- C.Waterfall is always faster than agile for delivering software to production
- D.Waterfall is sequential with fixed phases; agile is iterative and flexible✓ Correct
Explanation
Waterfall follows a linear sequence. Agile uses iterative cycles with continuous feedback.
Report an error in this question
Software Development PracticesMedium
Q20. What is a merge conflict?
- A.A deployment error when releasing code to production servers
- B.A runtime error that occurs during program execution in prod
- C.A syntax error caused by incorrect code in the source file
- D.When Git cannot auto-merge because branches changed same code✓ Correct
Explanation
A merge conflict occurs when two branches have made different changes to the same lines of code.
Report an error in this question
Software Development PracticesHard
Q21. What is the Twelve-Factor App methodology?
- A.Twelve testing phases that every software project must go through
- B.A math-based approach to solving programming problems algorithmically
- C.Twelve best practices for building scalable cloud-native applications✓ Correct
- D.Twelve programming languages that every developer should learn fully
Explanation
The Twelve-Factor App defines best practices for building SaaS applications.
Report an error in this question
Software Development PracticesHard
Q22. What is trunk-based development?
- A.A database design pattern for normalizing relational table schemas
- B.A branching strategy with single shared branch and short-lived branches✓ Correct
- C.Using tree data structures for organizing hierarchical information
- D.A testing strategy for validating software behavior systematically
Explanation
Trunk-based development uses a single shared branch with small, frequent commits and short-lived feature branches.
Report an error in this question
Software Development PracticesHard
Q23. What is the concept of 'shift left' in testing?
- A.Moving code directly to production without any testing or review
- B.Left-aligning all source code for consistent formatting readability
- C.Performing testing earlier in the development lifecycle for detection✓ Correct
- D.Moving test files to the left side of the project directory tree
Explanation
Shift left moves testing earlier in the development process to catch defects when they are cheaper to fix.
Report an error in this question
Software Development PracticesHard
Q24. What is the difference between monorepo and polyrepo strategies?
- A.Polyrepo is only suitable for small projects with limited source code
- B.Monorepo is always the better choice regardless of project requirements
- C.There is no meaningful difference between the two repository strategies
- D.Monorepo stores all projects in one repo; polyrepo uses separate repos✓ Correct
Explanation
Monorepo stores all projects together. Polyrepo uses separate repositories for isolation and independent lifecycles.
Report an error in this question
Software Development PracticesHard
Q25. What is feature flagging/toggling?
- A.A branching strategy for organizing feature development in Git
- B.A testing tool for validating feature behavior before release
- C.Deleting features permanently from the codebase and all traces
- D.Enabling or disabling features at runtime without deploying code✓ Correct
Explanation
Feature flags toggle features at runtime without new deployments, enabling gradual rollouts and quick rollbacks.
Report an error in this question
Software Development PracticesHard
Q26. What is Infrastructure as Code (IaC)?
- A.Managing infrastructure through configuration files not manual processes✓ Correct
- B.A programming paradigm for organizing code into functional modules
- C.Writing source code directly on production servers for deployment
- D.A coding standard for formatting and naming conventions in code
Explanation
IaC uses configuration files to define and manage infrastructure programmatically.
Report an error in this question
Software Development PracticesHard
Q27. What is the concept of 'toil' in Site Reliability Engineering (SRE)?
- A.Testing software to validate that it meets all specified requirements
- B.Manual repetitive automatable work scaling linearly with service size✓ Correct
- C.Hard work that requires significant effort and long hours from team
- D.Debugging code to find and fix errors in the application source
Explanation
In SRE, toil is manual, repetitive work that should be eliminated through automation.
Report an error in this question
Software Development PracticesHard
Q28. What is observability in software systems?
- A.A debugging tool for stepping through code execution line by line
- B.Watching code run step by step in a debugger tool window
- C.Monitoring only server uptime without any additional data collection
- D.Understanding system state from external outputs like logs and metrics✓ Correct
Explanation
Observability provides logs, metrics, and traces for understanding and diagnosing issues in complex systems.
Report an error in this question
Software Development PracticesHard
Q29. What is the strangler fig pattern for legacy modernization?
- A.Gradually replacing legacy systems by building new functionality around✓ Correct
- B.A refactoring tool for automatically restructuring legacy code
- C.A tree-related data structure pattern for hierarchical organization
- D.Deleting all old code at once and replacing with a new system
Explanation
The strangler fig pattern incrementally replaces a legacy system by routing new requests to new code.
Report an error in this question
Software Development PracticesHard
Q30. What is the CAP theorem and how does it affect development practices?
- A.A design pattern for organizing code into reusable modular components
- B.In distributed systems, only two of Consistency, Availability, Partition tolerance✓ Correct
- C.A coding principle for writing clean and maintainable source code
- D.A testing theorem for determining the minimum number of test cases
Explanation
The CAP theorem states that distributed systems can guarantee at most two of: Consistency, Availability, and Partition tolerance.
Report an error in this question