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. Do not optimize until the very end.






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






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






4. Quick program.






5. Link multiple projects together






6. Always do the simplest design that could possibly work.






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






8. The default nickname for the remote repository.






9. Taking code and moving it to a function that usually returns an object. They are always virtual functions.






10. Puts all headers into a master header.






11. Classes build off of each other.






12. Figure out what is feasible. Decide whether to use API's or to write from scratch.






13. Meetings used to create a release plan - which will lay out the overall project.






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






15. 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.






16. Encapsulates a request as an object - thereby letting you parameterize clients with different requests - queue or log requests - and support undoable operations.






17. Allows consumers to try a system earlier and give early feedback.






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






19. Use only through the interface of the object.






20. Adds files to the repository.






21. NULL memory.






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






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






24. Formatted code standards.






25. Current line that is executing.






26. 2 Eyes + 2 Minds = AWESOME!






27. Input






28. Removes files from the repository.






29. Linking to dynamic libraries is usually handled by linking to an ____________.






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






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






32. Creates a spin-off of a repository for concurrent development.






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






34. When you type in an object - you can see its attributes.






35. Ask questions and obtain the details and requirements given.






36. Bookmark of a revised set with a title. For easy checkouts.






37. CONSTANT






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






39. Trying to access a location in memory that your computer cannot access.






40. Makes a copy of your repository.






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






42. Undo changes made since your last commit.






43. A type of library that is used by the code






44. What is part of the current scope.






45. When a concrete class inherits from a pure interface.






46. One of the linking methods (pragma comment)






47. Plan out your code.






48. Application






49. Static in C++. Can span all instances of a class.






50. Breaks encapsulation boundaries.