ADETEC
  • 1. What does software documentation refer to?
A) Helps new team members onboard quickly
B) Written text and illustrations describing architecture, design, functionality, and usage
C) Only the source code of the software
  • 2. In API endpoint descriptions, what information must be clearly stated?
A) Purpose, expected behavior, URL route, and HTTP methods
B) Only the HTTP methods
C) Only the description of what the endpoint does
  • 3. Which HTTP methods are commonly listed in endpoint descriptions?
A) GET, POST, PUT, DELETE
B) OPEN, CLOSE, SAVE, LOAD
C) START, STOP, PAUSE, RESUME
  • 4. Which of the following is a best practice for code documentation?
A) Avoiding any comments in the code
B) Adding redundant comments that restate obvious code
C) Using inline comments to explain complex logic
  • 5. What are docstrings used for?
A) Standardized descriptions for functions, classes, or modules
B) To debug the code
C) . To store data in the program
  • 6. Which convention is followed for Python docstrings?
A) PEP 257
B) HTML format
C) Javadoc style
  • 7. Which tool is commonly used for code documentation in C/C++, Java, and Python?
A) Confluence
B) Doxygen
C) Javadoc
  • 8. What is the purpose of Sphinx?
A) To design user interfaces
B) To generate structured documentation from reStructuredText and docstrings
C) To compile code into executable files
  • 9. Which open-source license is very permissive and allows reuse with attribution?
A) Creative Commons
B) MIT License
C) Apache License 2.0
  • 10. Which license allows modifications, requires attribution, and includes patent rights?
A) Creative Commons
B) Apache License 2.0
C) MIT License
  • 11. Creative Commons (CC) licenses are typically used for:
A) Media and documents, not software
B) Hardware designs
C) Software only
  • 12. Why is licensing important?
A) It protects intellectual property and clarifies usage rights
B) It makes the software harder to use
C) It is not necessary for open-source projects
  • 13. What is reliability in software design?
A) The ability to perform required functions under stated conditions without failure
B) The ability to be easily modified
C) The ability to handle unexpected inputs without crashing
  • 14. Which technique involves duplicating critical components to ensure fault tolerance?
A) Recovery Mechanisms
B) Redundancy
C) Error Detection & Correction
  • 15. What is used to detect data errors in software?
A) Check sums, parity bits, and validation rules
B) Redundancy
C) Automated testing
  • 16. Which type of testing ensures correctness through unit, integration, and regression tests?
A) User acceptance testing
B) Performance testing
C) Automated testing
  • 17. Which of the following is a recovery mechanism?
A) Using parity bits
B) Checkpointing and rollback in databases
C) Duplicating servers
  • 18. What is the main goal of following software documentation standards?
A) To ensure code and systems are clear, maintainable, and legally safe
B) To increase the number of tools used
C) To avoid following any conventions
  • 19. Which tool is used for interactive API documentation with live testing capabilities?
A) Swagger / OpenAPI
B) Postman
C) RAML
  • 20. What is the primary use of Postman?
A) Designing API schemas
B) API testing and documentation
C) Creating documentation websites
  • 21. Which of the following are API design and documentation languages?
A) Swagger and OpenAPI
B) RAML and API Blueprint
C) Redoc and MkDocs
  • 22. Which tool is described as a modern, clean API documentation generator?
A) Postman
B) Sphinx
C) Redoc
  • 23. Which field in an API error response provides a human-readable explanation of the issue?
A) message
B) parameters
C) status
  • 24. Which parameter represents the minimum daily temperature in API responses?
A) daily.temp.min
B) daily.feels_like
C) daily.temp.max
  • 25. What is the definition of efficiency in software design?
A) Ability to duplicate critical components
B) Optimal use of resources (time, memory, CPU) while delivering results quickly
C) Ability to handle unexpected inputs without crashing
  • 26. Recovery mechanisms include:
A) Using parity bits to detect errors
B) Duplicating critical components
C) Checkpointing and rollback in databases, retry logic
  • 27. Which example illustrates improving efficiency through algorithm choice?
A) Using binary search instead of linear search for large datasets
B) Adding more servers
C) Using linear search instead of binary search B. Using binary search instead of linear search for larg
  • 28. What is the definition of efficiency in software design?
A) Optimal use of resources (time, memory, CPU, network) while delivering results quickly
B) Ability to perform functions without failure over time
C) Ability to duplicate critical components for fault tolerance
  • 29. Which strategy involves choosing algorithms with better time complexity like O(log n) over O(n²)?
A) Algorithmic Optimization
B) Database Optimization
C) Caching & Memoization
  • 30. What is the purpose of code profiling?
A) To avoid memory leaks
B) To use multithreading
C) To identify performance bottlenecks using tools
  • 31. Which technique stores results of expensive computations to avoid reprocessing?
A) Caching & Memoization
B) Caching & Memoization
C) Resource Management
  • 32. What does resource management focus on?
A) Testing edge cases
B) Avoiding memory leaks and releasing unused objects
C) Handling exceptions
  • 33. Which approach uses multithreading and asynchronous programming to improve performance?
A) Database Optimization
B) Algorithmic Optimization
C) Parallelism & Concurrency
  • 34. Database optimization includes which of the following?
A) Indexing, query optimization, and normalization/denormalization trade-offs
B) Exception handling
C) Caching all data
  • 35. What is unit testing?
A) Testing after full integration
B) Testing individual units of code (functions, classes, methods) in isolation
C) Testing only the user interface
  • 36. Which of the following is a benefit of unit testing?
A) Increases development time significantly
B) Improves code maintainability and reduces regression issues
C) Makes code harder to modify
  • 37. What is Continuous Integration (CI)?
A) Working on code in isolation without sharing
B) Testing only once before release
C) Frequently integrating code into a shared repository and running automated tests
  • 38. What is the main goal of Continuous Integration?
A) To reduce the number of tests
B) To delay integration until the end
C) To ensure new code does not break existing functionality
  • 39. What is the definition of robustness in software design?
A) Ability to use resources optimallyWhich practice involves never trusting user input and checking ranges, types, and formats?
B) Ability to handle unexpected situations gracefully without crashing or incorrect results
C) Ability to recover from failures automatically
  • 40. Which practice involves never trusting user input and checking ranges, types, and formats?
A) Exception Handling
B) Input Validation
C) Fail-Safe Defaults
  • 41. What is boundary testing?
A) Testing only valid inputs
B) Using try/except blocks
C) Testing minimum, maximum, and out-of-range values
  • 42. Which programming constructs are used for proper exception handling in Python?
A) try/except
B) loops
C) if/else
  • 43. What are fail-safe defaults?
A) Allowing any input without checks
B) Showing technical errors to users
C) Defaulting to secure/safe behavior if inputs are invalid
  • 44. What is defensive programming?
A) Anticipating and guarding against potential failures
B) Writing complex code to prevent errors
C) Avoiding any error handling
  • 45. What are assertions & contracts used for?
A) To define preconditions, postconditions, and invariants
B) To retry failed operations
C) To log runtime information
  • 46. What is retry logic?
A) Automatically retrying operations like API calls if they fail
B) Stopping the system on failure
C) Ignoring failed operations
  • 47. What is the purpose of logging & monitoring?
A) To collect runtime information for debugging and failure analysis
B) To speed up the code
C) To prevent errors from happening
  • 48. What is automated recovery?
A) Ignoring failures
B) Manually fixing errors
C) Implementing watchdogs or self-healing services
  • 49. Which testing framework is used for Python?
A) JUnit
B) pytest
C) Jest
  • 50. Which of the following is an example of robust code?
A) A login form that handles incorrect passwords gracefully without crashing
B) Code that only works with perfect inputs
C) Code that does not have any error handling
Created with That Quiz — the site for test creation and grading in math and other subjects.