- Elements of Programming Interviews by Adnan Aziz, et al.
- Cracking the Coding Interview by Gayle McDowell
- Programming Interviews Exposed by John Mongan, et al.
Behavioral and Non-technical Questions
Companies generally look for someone with the right personality, skill set, and prior experience. Think about what the company is and your potential role when answering the following questions.
- Tell me about yourself…
- Create a narrative that rehashes your resume, starting with your undergraduate education. You may be speaking with someone who hasn't looked at your resume…
- Tell me about your experience…
- Talk about your previous assignments/projects: what you learned, what went right, what went wrong, etc.
- What are your weaknesses?
- Use a legitimate weakness but then spin it into how it can actually be beneficial, how you overcome it, etc.
- Where do you see yourself in 5 years / What are your career goals?
- Explain why you want this job and how it fits into your career.
- Remember that some positions are designed to be temporary.
- Why are you looking to change jobs?
- Change in environment, factors out of your control, etc.
- What are your salary requirements?
- Give a range of salaries with your desired amount at the low end. Check http://glassdoor.com to determine the minimum amount you should offer.
- If offered the job, always give a counter offer around 10% higher. You have nothing to lose and it's your last chance to bargain. You are powerless once employed. HR is not your friend and their only goal is to hire you at the lowest salary possible. Try to use email for salary negotiation.
- What is your salary history?
- Explain that you expect market appropriate compensation and your compensation for the previous employment isn't relevant.
- Why should we hire you?
- Explain why you want to work at the company and why you are a good match. Stay positive.
- Why do you want to work for this company?
- Show what you know about the company and why you are excited about it.
Recreate the following table and fill in with keywords (McDowell 2011) You should be able to tell a short story for all of these questions for any major areas found on your resume. Have it available when conducting phone interviews.
|Common Questions||Project 1||Project 2||Project 3|
|What You Learned|
|Conflicts with Teammates|
- Clarify the question.
- Think out loud.
Questions to Ask the Interviewer
- How much of the day will be spent programming vs. writing reports?
- How many meetings will we be having each week?
- What measures are taken for data security?
- Do you use software I may not be familiar with?
- Can I create public, open source repositories for the types of projects I would be working on?
- Was there always someone in this position or were duties spread across multiple people?
- What made past employees excel in this role?
- How can I improve my qualifications to be a better fit?
- When do you face the toughest time or have the longest days in this position?
- Can you tell me a bit more about (an interesting thing they previously mentioned).
Academic jobs openly request and provide references. Industry requests them, but tends to not provide them (by intimidation of HR). Be aware of that difference for your future career goals. Always have a group of people you know will provide strong recommendations. Create this group starting in college and grow it as much as you can. Don't assume companies will only ask for three references, they may ask for five or even more.