Interviews are a big part of the final months of college. For the up-and-coming software engineer, interviews will be quite different from the usual job interview. I will try to disseminate information to help with interviews.
The most common topics for interviews are strengths, weaknesses and compensation. Those are three important topics for discussion. Interviewees should have a clear idea and answers for any question regarding those topics.
Strengths will generally be those listed on the rsum. Interviewers will ask about years of experience, previous assignments using the technology, and proficiency. The most important part is to not embellish skills. The interviewer will find out how much you know in the more technical part of the interview.
Weaknesses should be used to the interviewee’s advantage. If the interviewee can identify areas to grow, it shows the employer that he/she knows their limits. Using weaknesses to express interest in learning also shows the interviewer a commitment to continuing to grow. A skill set that continues to grow is a must in the software industry.
Compensation is a touchy area for both the prospective employer and future employee. Generally, compensation is not discussed in the initial interview unless speaking with a recruiting company. When it is discussed, the interviewee should be prepared with a reasonable offer. The best way to prepare is by researching current market rates for the position and factoring in cost of living.
Technical interviews are extremely tough. With most companies, there are usually multiple interviewers. The interviews will consist of the normal questions along with brain teasers and coding questions.
Brain teasers are used to elicit information about problem solving skills and creative thinking. Most software companies want developers with a forward-thinking mind. A few common questions include how to move Mt. Fuji, burning two strings and calculating time with them, and calculating the number of gas stations in the United States.
Coding questions generally include writing the code out on a whiteboard. Pseudocode is generally acceptable, but language will sometimes be specified by the interviewer. The best way to find out is to ask the interviewer.
Coding questions are intentionally ambiguous. Vague questions are used to see if an interviewee tries to realize the whole problem before trying to solve it. It also gives the interviewee room to innovate and expound on their abilities. Common questions will include working with linked lists, searching and sorting, and set theory.
The most important part of the technical part is to vocalize everything. The interviewer is looking for creative thinking and problem solving. The end result is not nearly as important as the process. Interviewers are looking for individuals that can communicate clearly and solve problems.
Interviewing can be a daunting task but manageable with a bit of preparation. Internet sources have a great collection of common teaser questions and answers. The best way to prepare for a technical interview is to practice writing code on a whiteboard and brushing up on algorithms and data structures.
For information check out “Programming Interviews Exposed” or “How Would You Move Mount Fuji.

Author