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

Created with That Quiz — the site for test creation and grading in math and other subjects.