► What is something substantive that you've done to improve as a developer in your career?
► Would you call yourself a craftsman (craftsperson) and what does that word mean to you?
► Implement a <basic data structure> using <some language> on <paper|whiteboard|notepad>.
► What is SOLID?
► Why is the Single Responsibility Principle important?
► What is Inversion of Control? How does that relate to dependency injection?
► How does a 3 tier application differ from a 2 tier one?
► Why are interfaces important?
► What is the Repository pattern? The Factory Pattern? Why are patterns important?
► What are some examples of anti-patterns?
► Who are the Gang of Four? Why should you care?
► How do the MVP, MVC, and MVVM patterns relate? When are they appropriate?
► Explain the concept of Separation of Concerns and it's pros and cons.
► Name three primary attributes of object-oriented design. Describe what they mean and why they're important.
► Describe a pattern that is NOT the Factory Pattern? How is it used and when?
► You have just been put in charge of a legacy code project with maintainability problems. What kind of things would you look to improve to get the project on a stable footing?
► Show me a portfolio of all the applications you worked on, and tell me how you contributed to design them.
► What are some alternate ways to store data other than a relational database? Why would you do that, and what are the trade-offs?