This is a draft cheat sheet. It is a work in progress and is not finished yet.
TechnicalWhat's your favourite language and why? | Do you have a preference for any particular framework? | What would you consider the strengths of $language to be? | Do you think there are any scenarios where $language would be an inappropriate choice? | What features would you like to see added to $language? | Do you find any languages/frameworks intimidating? | What do you think makes good, maintainable code? | What do you understand by Test Driven Development (TDD)? | What do you understand by Continuous Integration (CI)? | What is your experience of version control? | What are your thoughts on Design Patterns? | What is your general strategy towards documenting your code? | If you were faced with a project that had performance issues, what steps would you take to investigate them? | If you were faced with a legacy project with maintainability problems, what things would you look to improve to get it on a stable footing? | How do you feel about code reviews? | What is your understanding of Domain Driven Design (DDD)? |
Swap $language for the language relevant for the role you are interviewing for.
| | PersonalTell us about yourself? | What projects are you working on in your spare time? | How do you keep up with tech trends? | What was the last project you worked on? | What are you looking for in a new position? | What was the last big mistake you made and how did you recover from it? | If you're put on a particularly busy project team with documentation on how to set up a development environment but you run into an undocumented issue, how would you look to progress? |
| | AgileDo you have any experience of working in an Agile environment? | What is your understanding of the SCRUM methodology? | What are your thoughts on daily stand ups? | Would you be comfortable demoing a feature you worked on to a client? |
|