Looking to land an internship or job at that company you’ve had your eye on? Slaying a technical interview will undoubtedly be a major step toward getting your foot in the door. Tufts’ Ming Chow has plenty of advice for you.
See the original post with comments here
First things first, be yourself.
Here are questions I and many interviewers will ask:
1. So tell me about yourself.
* The reasons for this question: to check if the interviewee has a pulse and can communicate clearly. Also, I love it when the interviewee speaks about his/her experiences in the field and why he/she wants the job!
2. Tell me about a project that you have worked on.
* If the interviewee talks about a side project or a research project, great! Look, there are lots of smart people out there. But passionate developers are another breed, very hard to find.
2A. Why did you choose to work on this?
2B. Did you use revision control for this project?
* A yellow flag if the interviewee says “No.”
2C. Why did you choose this algorithm / data structure / framework for this project? Why didn’t you use this other algorithm / data structure / framework?
* I want to understand the interviewee’s rationale and thinking process. I also want to see if the interviewee can make tradeoffs. Also, if the interviewee says “I don’t know,” that’s not a bad thing! Admitting to not knowing something is always better than bullshitting through the response.
3. This gem.
* The reasoning for this question: to check if the interviewee can actually program! You do not believe how many people interview for a programming-related job but, well, don’t know how to program! Last spring, a number of students thanked me for stressing this question as this question was asked on their interviews!
4. A data structure / algorithm-related question. Some questions I’ve asked interviewees in the past include:
* Given a sorted array of integers, how would you search for an element? Also, what is the time complexity and can you do better?
* What is the time complexity (in Big-Oh) of traversing (preorder, postorder, or inorder) a binary search tree?
* Given a recursive function, can you make it into a non-recursive function?
* A singly linked list is filled a character in each node. Write a function to determine if the linked list is a palindrome.
* How can you create a queue using two stacks?
4A. More specific tech questions depending on the job position:
* What are the differences between C++ and Java?
* Tell me how you can design…
5. Do you have any questions for me?
* Serious red flag if the interviewee does not have any questions. This is the question to identify who really wants the job!
One last thing, and this is very important about job interviews these days: I (as the interviewer) will know a lot about you, the interviewee, before you come for the interview (thanks to Facebook, Twitter, Google+, LinkedIn, etc.). The job interview should confirm everything that I already know.