- What are the different programming paradigms?
- Described a recursive algorithm.
- https://en.wikipedia.org/wiki/Programming_paradigm
- http://usi-pl.github.io/lc/sp-2015/doc/Bird_Wadler.%20Introduction%20to%20Functional%20Programming.1ed.pdf
- https://docs.oracle.com/javase/tutorial/java/concepts/
- What is big O notation?
- When do you use a linked list, an array, a tree, or a hash map?
- https://en.wikipedia.org/wiki/Computational_complexity_theory
- https://en.wikipedia.org/wiki/Data_structure
- http://bigocheatsheet.com/
- https://www.cs.auckland.ac.nz/software/AlgAnim/ds_ToC.html
- http://people.cs.vt.edu/~shaffer/Book/C++3e20110915.pdf
- https://msdn.microsoft.com/en-us/library/aa289148(VS.71).aspx
- What is a design pattern?
- What patterns are built-in to java and/or scala?
- https://en.wikipedia.org/wiki/Software_design_pattern
- https://sourcemaking.com/design_patterns
- http://martinfowler.com/eaaCatalog/
- https://en.wikipedia.org/wiki/Anti-pattern
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/16Oct07.pdf
- What development process do you use?
- What are some of the deficiencies of your current process?
- https://en.wikipedia.org/wiki/Software_development_process
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/06Sep07.pdf
- https://en.wikipedia.org/wiki/Continual_improvement_process
- What are the different types of tests and what are they used for?
- https://en.wikipedia.org/wiki/Software_testing
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/18Oct07.pdf
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/23Oct07.pdf
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/25Oct07.pdf
- What is tight coupling?
- What is modularity?
- What are some common system architectures used today?
- https://en.wikipedia.org/wiki/Software_architecture
- http://www.psl.cs.columbia.edu/classes/cs4156-cvn-m10/lectures/11Oct07.pdf
- http://www.cs.cmu.edu/afs/cs/project/able/www/paper_abstracts/intro_softarch.html
- http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-033-computer-system-engineering-spring-2009/lecture-notes/
- https://en.wikipedia.org/wiki/Code_smell
- https://en.wikipedia.org/wiki/Dependency_graph
- http://www.joelonsoftware.com/articles/LeakyAbstractions.html
- Why is release management important?
- What are some common release management associated tools?
- https://en.wikipedia.org/wiki/Release_management
- https://inedo.com/whitepapers/Release_Management_%20Done_Right.pdf
- https://en.wikipedia.org/wiki/Jenkins_(software)
- http://maven.apache.org/maven-release/maven-release-plugin/
- What is the right amount of documentation?
- What do you need to document?