Test your basic knowledge |

SWA - Software Architecture

Instructions:
  • Answer 50 questions in 15 minutes.
  • If you are not ready to take this test, you can study here.
  • Match each statement with the correct term.
  • Don't refresh. All questions and answers are randomly picked and ordered every time you load a test.

This is a study tool. The 3 wrong answers for each question are randomly chosen from answers to other questions. So, you might find at times the answers obvious, but you will see it re-enforces your understanding as you take the test each time.
1. Invalid or unexpected input that the program is not designed to process.






2. Initialized heap memory.






3. Input






4. Undo changes made since your last commit.






5. Ignores files when pushing.






6. When a conflict is fixed.






7. Meetings at the beginning of each iteration to produce a plan of programming tasks.






8. Quick program.






9. Uploads all changes staged in the index list into the repository database.






10. Removes files from the repository.






11. Valid input that the program is designed to process.






12. Classes build off of each other.






13. Ability to accept different types of parameters to bind to different implementations at run-time.






14. Written by the customers as things that the system needs to do for them.






15. Allows you to switch your working copy to another branch.






16. Treating a derived class's data members like it's base class's.






17. Ability to withstand change and what the effects are.






18. Copies all changes from one branch into another branch.






19. Puts all headers into a master header.






20. Symbols that can not be accessed by code in other units have __________. These symbols are usually static non-member functions/variables defined within.c/.cpp or defined in an anonymous namespace.






21. Developers should be integrated and releasing code into the code repository every few hours.






22. Function doesn't exist.






23. STOP!!






24. Inheritance between object.






25. When exporting a dll - the names of the functions are changed. This is knwon as ____________.






26. No man's land. Guard bytes before the after allocated heap memory.






27. Portioning your changes to commit by inserting them into the index.






28. About the interface to an object. Data contained within.






29. Weak relationship between two classes. Almost always results in a #include.






30. Uploads changes to your current branch.






31. Code generation in a lib






32. The default nickname for the remote repository.






33. Makes a copy of your repository.






34. Freed heap memory.






35. Default branch within your repository.






36. Ensure a class only has one instance - and provide a global point of access to it






37. Having power over inheritance with the flexibility of composition.






38. Current line that is executing.






39. Ability to treat a class object as a function by overloading the () operator.






40. Makes a project compile in order of who is dependent on what






41. Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.






42. Reusing existing functionality by defining a relationship between two classes : Inheritance or containment.






43. When GIT cannot merge your data.






44. Try to find the flaws in your code.






45. A group of code. unnamed can only be accessed within that translation unit - name can be accessed anywhere






46. A pointer or reference. One object needs to know about the other object to work.






47. Plan out your code.






48. Helps to eliminate unnecessary "include chaining."






49. Define a one-to-many dependency between objects so that when one object changes state - all its dependents are notified and updated automatically






50. Keeps a team using a similar naming convention for things.