Reverse Interviewing for Computer Science Jobs

In the first few months of my senior year of university, I’ve probably spent close to 30 hours interviewing for prospective employers1 and received offers from a few of them as well. With so much interviewing in such little time, it’s pretty easy to recognize patterns and potential motivations behind interview techniques. These techniques are critical in, not only letting the company know about the interviewee, but also in learning about the company.

Question Types

Here are a few types of questions interviewers like to ask:

  1. Psychological questions: “What is your greatest weakness?” Need I say more?
  2. Freshman level technical questions: Crazy bit-shifting, pointer arithmetic, and poor use of syntax sugar. All interviewees should be able to solve these given enough time to think them through. These test how much coffee the interviewee’s had before the interview. “a = b++ | ++c;”
  3. Abstract design questions: OOP based questions which tend to be very general. These test what the interviewee puts the most emphasis on and attention to detail. “Make an OOP pizza.”
  4. Logic questions: Nothing to do with computers but are problem solving oriented. Again, interviewers are looking for attention to detail. These test how well the interviewee can apply complex computer science to simple tasks like making peanut butter & jelly sandwiches. “This clock doesn’t work. How would you debug it?”
  5. Real world case study questions: Require a much broader knowledge base from the interviewer, which makes them rare, and allow the interviewee to talk about what he really knows and loves (and hopefully what he are being hired for). These test all of the above plus the interviewee’s ability to put all of his knowledge together. “Lets discuss your research.”

Question Values

The value of the question types are shown by the question types’ positions in the ordered list. The higher in the list a question type appears, the less amount of knowledge and thinking the interviewer is required to use. The more complex question types, which are custom tailored to the interviewee, are much harder for the interviewer to ask and evaluate. These appear lower in the list. Bigger companies tend to stick with the question types in the 1 to 3 range (easy for the interviewer) because they interview so many people. These are ordinary questions and the interviewers are looking for extraordinary answers. Double Math & CS majors usually come up with the best tricky/slick answers. It’s up to the interviewee to really show excitement despite the boring, by-the-book questions in the 1 to 3 range. Smaller companies are able to ask the more intellectually stimulating questions and tend to interleave related conversation.

Extracting Information from the Questions

Company culture information can be extracted from the value of the question types. Reverse engineering the questions like this is an important part of reverse interviewing. Culture shows what the company values. Companies will ask questions in the 1 to 4 range if they are looking for people to keep their heads down and program. The type 5 questions (and questions more complex than type 5) are given when the company values abstract thinking and real world problem solving. They want thinkers! With this in mind, how do these values align with what you value in a company?

Psyche probing is a side effect of technical questions. Sometimes interviewers will intentionally try to get a rise out of the interviewee by always implying the interviewee’s answers are wrong or constantly asking for more. This is to test temperament. If the interviewee leaves the interview feeling like he just left a fight, then the interviewer succeeded in weeding out a potential “bad seed.”

To conclude, when it all boils down, the companies are looking for people who are genuinely excited about the work and are a good fit; People who are like them and would fit in both socially and intellectually. Trying to fool the interviewer or yourself about a job will only result in an unnatural feeling connection. You don’t want a company that wants you for the wrong reasons just as a company doesn’t want you to want them for the wrong reasons.

1 My conclusions are based on interviews with these companies:

    None Found