We hear a lot about how interviewing is a two way street, and how you should be interviewing the company to learn as much about them as they’re learning about you. But did you know that you can learn a lot about a company while they’re asking you questions?
Coding and Algorithms
These are the types of questions you’ll find at the “elite” tech companies, like Microsoft, Google and Amazon. These questions ask you to design an algorithm to solve a problem, such as finding the most common element in an array.
Coding/algorithm questions are designed to test your problem solving skills. They tend to be asked by companies that place a higher value on intelligence and aptitude, and less value on your current skills. Many of these businesses won’t care very much which programming languages you know. They expect that anyone who gets hired is a strong enough engineer to pick up any language relatively quickly.
This means that during your first few weeks, you might not be very productive as you get up to speed with the company’s technologies. In fact, some — like Facebook and Google — have formal training processes to teach you about the myriad of internal tools.
Your coworkers will probably be fairly intelligent. And, because the company values intelligence and aptitude over specific experience, you might find younger employees “outranking” older employees. This is good news for less experienced candidates. It shows that if you’re good, you can move up more quickly.
Knowledge and trivia questions probe your detailed knowledge of a technology. It’s not enough to just be able to write most programs in their language. The company wants to make sure you know the ins and outs of the language, too.
Companies that focus on these questions tend to place a high value on your current skill set. They want you to be able to hit the ground running almost from Day 1. You might be a great Java coder and a brilliant engineer, but if you don’t know their preferred language, you’re probably out of luck.
As for your coworkers, many of them have likely been working with the current technologies for a long time. Their code will reflect an intimate knowledge of the current programming language. However, you might find that they’re less exposed to other technologies and less likely to take on new challenges.
While all companies ask some behavioral questions, some focus on these more than others. Companies that put a special focus on them are indicating that they value experience over knowledge and aptitude. They believe that more years = better developer.
Your resume is going to be very important here, not only in getting you selected for an interview but also in guiding what your interview is like. A less experienced candidate – even one who might be a great engineer – is unlikely to get the more senior roles.
Companies that focus on behavioral questions are often more title focused, and roles like “senior engineer” really do correspond with years of experience.
Unfortunately, there’s a drawback of companies that focus on these questions: They haven’t actually tested their candidates’ skills. This can sometimes mean that you have a few duds of coworkers who basically bluffed their way into the job.
With all this said, these are just rules of thumb. A specific company might ask one type of question, but actually more closely mirror values of a different kind.