I don’t interview all that often, but when I do, I really prefer to have a conversation versus some of the other common interview methods, cough cough white board questions cough cough.
For more Senior roles I find this works better than hypothetical questions explained on the whiteboard. If the conversation isn’t progressing well (probably a good indicator), then I will pull out a more theoretical question and have a white boarding exercise instead. I prefer to not do a lot of data structure or algorithm type questions if I can avoid it. My goal is to understand how a candidate thinks, solves problems, and works as part of larger team.
Interview Progression Options
Option 1. Ask gateway questions, don’t jump immediately into technical questions
Use this approach to provide a more “conversation-like” interview experience. I look for paths to dig deeper. These are more “small-talk” type questions that will hopefully lead to deeper conversations.
- Tell me about your recent role
- Tell me about a recent project
- (Looking at their resume) “I see on your resume you have experience with ___ tell me about that?”
Look for:
- Talking about other team members involvement, good or bad
- Knowledge of a specific framework, technology, paradigm
- Admission of guilt, we all make mistakes, do they own theirs?
- Opportunities to explore interests, hidden gems
- Are they passionate about technology? Do they learn on their own about current technologies? Things they are interested in, but not currently using? Interests outside of technology.
- What new technologies are you excited about?
Could indicate:
- Level of excitement about new technology
- Do they follow the industry? Trends?
- Do they jump on every new trend for every project?
- Do they understand the implications of choosing a new technology? Do they do due diligence in choosing new technologies?
Could lead to:
- Exploring technologies further in depth
- Exploring application architectures or challenges in depth
- What do they know about them?
- What role did they play in implementation?
- How did they over come the challenges?
Option 2. Review each role, asking the following questions for each role
- What was your role? Tasks?
- What did you like about the role?
- What did you not like about the role?
- Why did you leave?
Look for:
- Consistency in things they like vs. don’t like
- Values. Do they blame others for decisions, etc.
- Patterns in why they leave roles
Technical Questions
Look up “Top 20 ____ (JavaScript, SQL, etc.) Interview questions and answers”
- Find technologies or framework questions that are relevant for the role
- Review questions and answers well ahead of asking them
- Do you understand the question and “accepted” answer(s)?
- Do you know other possibly acceptable answers for the question?
- Be very careful here, if the candidate gives a correct answer that differs from the answer on the exam they will know your level of expertise and will likely be turned off from the role/team
- Avoid reading down the list, intersperse the questions as part of the larger conversation
Goals
I want to walk away from the interview with answers to some of the following questions:
- Does this person have the potential to lead?
- Could I have a beer with this person (Drinking NOT required)? Do they have an interesting background or view about things?
- Could I be stuck in an airport with this person? Do they communicate well? Can I see myself working with them for long periods of time?
- Can this person learn new technologies or patterns? Are they capable of learning and growing? Do they have a desire to learn and grow?