Google needs the best brains in the business to keep on top of the highly competitive – and very highly lucrative – game of computer technology.
Computer engineer Pierre Gauthier recently received a telephone interview for the position of Google's "Director of Engineering” and shared his experience in a blog post. As he explains, the opportunity was a rare one, as it required both management as well as top-end coding skills.
However, even with his 37 years of coding experience and decades of working within the industry, Gauthier didn’t get the job. Here’s the 10 questions he was reportedly faced with:
- What is the opposite function of malloc() in C?
- What Unix function lets a socket receive connections?
- How many bytes are necessary to store a MAC address?
- Sort the time taken by: CPU register read, disk seek, context switch, system memory read.
- What is a Linux inode?
- What Linux function takes a path and returns an inode?
- What is the name of the KILL signal?
- Why Quicksort is the best sorting method?
- There's an array of 10,000 16-bit values, how do you count the bits most efficiently?
- What is the type of the packets exchanged to establish a TCP connection?
Yup, we're sweating too. But by other accounts, these questions aren't too tricky if you have a fair amount of knowledge in this area of computer engineering. So then, how come Gauthier didn't pass the interview? In his words, “Is Google raising the bar too high or is their recruiting staff seriously lacking the skills they are supposed to rate?”
In case you are curious about how you might tackle these questions, Gauthier also explained how he answered them in his blog, along with his own comments questioning some of the responses he was given.
Google seems like a pretty awesome place to work, with never-ending gourmet buffets, brightly colored campus bikes, and in-office dogs. No wonder the interviews are so tough.
Updated on 19/10/2016 to better reflect Gauthier's view and the difficulty of the test.