Computer Science Interviewing Techniques

As a follow-up to my reverse interviewing article, below is an outline of some of my theories on interviewing in general.

Reviewing vs. Cramming

Preparing for interviews is a smart idea but there’s also some things to be careful of. Preparing can be split into two methods: reviewing and cramming. Reviewing material which the interviewee has previous experience with through classes and projects is a great idea for obvious reasons. Cramming, or learning new topics on the fly specifically for the interview, on the other hand, is a bad idea. This includes memorizing common interview questions. Interviewers can tell the interviewee’s only scratched the surface of a topic for the purpose of the interview, which looks bad, and cramming will give the interviewee a false sense of confidence. If the interviewee manages to get through an interview without the interviewer noticing cramming was used, maybe the interviewer’s standards were sub-par. You probably don’t want to work for a company with low standards like this.

“If I can’t cram, then what am I to do if I’m asked a question about something I haven’t studied?”

Overcoming Unknown Topics

It’s OK to pass on question topics! Claiming to know a topic and then faltering with related questions just implies that the interviewee attended classes regarding the topic and then did poorly anyway. Contrary to what it feels like, “points” will not be docked for not being familiar with a topic. It will weight heavily on the interviewer’s mind if the interviewee struggles with questions, though, because that takes up a larger percentage of the interview time. When interviewing right out of university, it is expected that the interviewee’s knowledge is composed primarily of topics learned in school and extra-curricular projects anyway. This means a deep understanding of some topics is expected and other areas can be thin. Interviewers should be testing the interviewee’s capacity to learn and solve problems, not testing the interviewee’s memory. It’s beneficial to know topics which are critical to the job the interviewee is looking for (ex. networking for Cisco), just don’t force it.

Expanded Reviewing

A fine line exists between cramming and expanding on a topic the interviewee already has experience in. With that said, it is good to learn as much about the company as possible. This isn’t just to impress the interviewer with intelligent questions, it’s to flesh out the interviewee’s knowledge in areas the company may value. For example, say Cisco is the interviewing company. Because Cisco is a networking and routing company, one can infer that they will be using a language that gives easy access to the hardware. The two biggest languages with hardware access are C and C++ so brush up on networking in those languages. The less the interviewee has to think about the language, the more he can concentrate on the real question being asked. So, think about what programming language features the company would be using and then brush up on those features.

Background Checks

Any company worth working for will preform background checks before hiring candidates. I know some companies outsource background checks to specialized firms but I’m not sure how wide spread it is. I have a feeling most companies outsource like this. These background checking firms are extremely good at taking a resume and extracting contact information from it. Even if the candidate doesn’t list contacts, the firm will still be able to contact all of the candidates former employers and produce a full report to the hiring company. To avoid surprises, don’t try to hide anything from prospective employers.



(Trackback URL)

close Reblog this comment
blog comments powered by Disqus