How do you prepare for a technical interview?
I am a computer science student, and I will be going to an engineering and technical fair in a few weeks from now, and the companies there often schedule technical interviews in the following days. How should I prepare for it? Is this a dress code that I should follow? #college #computer-software #career #interviews #internship #recruiting #job-application
6 answers
lohith’s Answer
Start your prep by reading and re-reading all of the information you can get your hands on regarding algorithms. Many tech questions are based on algorithms, not specific languages. If you took a course on algorithms, review all of your course material. If not, review all of the information you can find on algorithms. Next, study data structures. You will need to have at least one language where you have a level of mastery. Two or more would be even better so that you can select the one that matches up best with your interviewer. However, don't worry if the interviewer is not familiar with the specific language you use to solve a technical problem, it's the algorithms and data structures they will be looking at in your answer. Ideally, use an object oriented language in your problem solving.
Practice coding answers to possible questions in advance. Sites like Glassdoor and Leetcode have plenty of practice coding questions from a variety of tech employers. Work on practice answers in advance, but don’t depend on these specific answers to use in the interview. These practice answers are simply to get you ready to solve unique problems in the interview. Keep in mind that a good interviewer will often change a variable or two to ask how it will impact your answer or your ability to solve the problem. So the advanced practice helps you to be more nimble and agile in the actual interview.
If you are doing an in-person interview, be ready to whiteboard an answer. But don’t just write, talk. You need to talk as you write out your answer to show your logic in working out your answer to the problem. The tech interview evaluation is not only on the answer, but how you got to the answer. Even if the interviewer has not suggested that you use a whiteboard to solve the problem, almost every interview room has one. If there is one in the interview room, ask if you can use the whiteboard to solve the problem. If you are doing a phone interview, you might be asked in advance to either install whiteboarding software or visit a specific URL where you can whiteboard an answer.
Ideally, use specific examples of work you have done before to show not just how you would solve a problem, but how you have solved a similar problem in the past. Use the S-T-A-R behavioral approach, giving a Situation or Task, the Action you took and the Results achieved. Try to stay away from hypotheticals and use real life examples whenever possible.
Ken’s Answer
Hi Albert!
Here are some tips on dressing for an interview:
http://careernetwork.msu.edu/jobs-internships/appearance-and-attire/dressing-for-interviews.html
Here are some tips for preparing for a job fair:
https://www.themuse.com/advice/4-job-fair-tips-thatll-make-the-experience-worthwhile
https://www.themuse.com/advice/8-ways-to-stand-out-at-a-career-fair
As far as preparing for the interview, the most helpful thing that you can do is to do research:
- research the company
- research the comany's products
- research the position
This is very important for you to understand how you might relate to the company and its products.
Early on in the interview, if you have not seen the job description yet, say "So that I might better relate my background and experience to the position and your company, could I please have a copy of the job description." If he does not have it with him, have him go into detail about the position which is being discussed, so you can appropriately point out those qualifications that would make you a good applicant.
Don't forget that you have as much right to ask a question during an interview as your interviewer. Ask for clarification or further explanation if you do not understand something. Ask questions as "Could you please describe the ideal candidate for the job?" "Why is the position open?" How would you see someone like me fitting into the position?" "What is the next step in the interview process?"
Make sure you get the proper spelling of everyone's name that you talked to during the interview, as well as their correct address, so that you can send them a hand written thank you note. As soon as you can following the interview, use one of the fold over thank you note cards that you can get at the local drug store and hand write a thank you note. Say something like "Thank you for the opportunity to talk with you regarding the opportunity to work with your company as a >>>>>>. I particularly found >>>>>>> to be very interesting and feel that I could use my background, training, and experience to help your company. I would like to follow up in a few days. I am looking forward to learning more about the position.
Three days after sending the thank you note, call the person whom you talked to and ask about the next step in the interview process. You can get through the operator and secretary by saying that he is expecting my call regarding our interview. When he answers, thank him for the interview, say that you are looking forward to the possibility of helping his company towards its goals, and ask about the next step in the interview process.
After more than 20 years conducting interviews for technical positions, this is what I found to be the best preparation for my interviews. If you have to wait in the waiting room for the interview to start, look for literature regarding the company that you can read or ask the secretary or receptionist for some if you cannot find any. Not only will this provide you with some good information, but is will show the interviewer that you are interested enough in the company to read it. I always put such information in the waiting room and was interested to see if the applicant was reading it or had read it or was reading something else. It really made a difference. I hated interviewing someone who did not have a good ideal of what we did or what our products were.
Best of luck! Let me know if and how this might help. Keep me posted. I would like to follow your progress.
Jeremy’s Answer
Hey Albert,
At the career fair:
Print out plenty of copies of your resume (around 20 to be safe). Its key to have practiced your introduction before you go. For me, I would start with: Hello my name is [Jeremy]. I'm a [4th year CS student] looking for an [internship / full time] position. I like making [iOS apps] in my spare time. You can see this from my personal projects section here. This is where you point to that part of your resume and hand it off to the person at the career fair. Using this approach makes it easy for the person to focus on a certain part of your resume and start asking you questions. Don't be that person who goes up, says hello, and hands off their resume without an introduction. Its awkward every time and makes it harder on the person working the fair.
How to prep:
Pick up a copy of Cracking the Coding Interview by Gayle Laakmann McDowell. Buy a whiteboard and work through the examples in the book. Don't look at the solution until you have tried to work out the problem yourself. Many of the technical CS interviews will ask similar questions to the ones in the book. Its no use simply trying to memorize the solutions. When you get to the actual interview, you will not have an IDE that autocompletes for you. It is very important that you practice coding on a whiteboard or piece of paper.
Morning before:
Be well rested (sleep early!) and have a good breakfast. Allocate some time in the morning to work on one or two easy questions from Cracking the Coding Interview. These are your warm up questions for the interview.
What to wear:
Nice jeans and a button down. No suit, no t-shirts. I think the exception to jeans would be for a company that is not business casual. For example, it might be wise to wear slacks with the button down tucked in for a Goldman Sachs interview. Sometimes the recruiter will tell you what to wear. If you are concerned, ask the recruiter what the dress code is for the interview.
At the interview:
Ask any clarifying questions about the problem before starting. Make sure your assumptions are valid with the interviewer. Then briefly describe to the interviewer what you are going to do. For the first pass of the problem, do not worry about if its the optimal one. Do the "dumb" solution first. Its important that you get a working solution before trying to optimize. When you're working through the solution always describe to your interviewer what you are doing. This makes it so the interviewer can understand your thought process (you might even get some hints). After you get a working solution, your interviewer might ask you to optimize your solution or about other ways the solution can be implemented.
End of the interview:
Most interviewers will almost always allocate some time (5-10 minutes) at the end to see if you have any questions for them. Come prepared with questions. For example, you can ask about what technologies they are currently working with. Or, what their usual work day looks like.
Before you leave the interview, get the interviewers business card. If they don't have one on them, their email address. Later that night send the interviewer an email thanking them for taking the time to interview you.
Best of luck!
asif’s Answer
Find a whiteboard, pick a few questions out of Project Euler or Interview Cake, and test yourself. If you have any developer friends, ask them to do a mock whiteboard interview with you. Read this blog post: How to Make the Most Out of Your Technical Interview. Read these coding interview tips
Mario’s Answer
I don't prepare technical interviews. If a company asks me for something I don't know because I'm not interested on, or uses a set of pre-defined and typical nonsense interview questions, it's a good indicator that this company is not suitable for me.
You don't need to demonstrate that you are valid for a company if such company is not valid for you.