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. Cross training is an important consideration to try and prevent islands of knowledge - which can cause loss.






2. One of the linking methods (pragma comment)






3. Makes a copy of your repository.






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






5. When a conflict is fixed.






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






7. NULL memory.






8. (Door-----Spell) BI_DIRECTIONAL because both classes can reference each other. (Door--->Spell) DIRECTIONAL because only the door knows and can reference Spell.






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






10. Initialized heap memory.






11. Views all previous changes.






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






13. Simply a value.






14. When we remove redundant or obsolete designs and replace them with a new.






15. Do not optimize until the very end.






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






17. A measure of logical dependency.






18. Connection between a local brand and a remote branch.






19. The linking is already done internally






20. The process of deciding which function definition to link during run-time.






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






22. Are what function classes should include.






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






24. Separating out a section of code into a reusable function or class.






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






26. No more than 40 hours to stop burnouts.






27. Initialized stack memory.






28. Application






29. A function that can load a library






30. Inheritance between object.






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






32. Use this to find a memory address or signiture in a dll






33. Downloads without merging.






34. Stand up meetings show who will be valuable and needed.






35. Quick program.






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






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






38. Compose objects into tree structures to represent part-whole hierarchies. Lets clients treat individual objects and compositions of objects uniformly.






39. Plan out your code.






40. You have to tell it to link






41. Code generation in a lib






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






43. When a class is defined within another class.






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






45. Adds files to the repository.






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






47. What is part of the current scope.






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






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






50. Bad! Don't ever use these types of variables!