Last year, I had a job interview at Google. Here are the questions I was asked:
- Tell me about one of the projects on your resume.
- What technologies did you use to get this project going?
- What if your project had 5000 or 50000 or 5000000 users?
- What's an inode?
- What's the angle between clock hands when it's 3:15?
- Write a C function that returns angle between clock hands for any (hour, minute).
- Write a binary tree.
- How would you troubleshoot this problem - network diagram presented.
- What's the difference between a router and switch?
- Implement a routine in C that counts number of characters in a string.
- Given 100GB file and a computer with 1GB of memory, how would you sort it.
- Can you make it parallel and solve it on 100 computers?
- What's a priority queue?
- How does BGP work?
- Can DNS use TCP? In which cases DNS uses TCP?
- Implement set difference in any language you like.
- How does HTTP work?
- How does 3 way handshake work in TCP?
- What's the sticky bit?
- What's the system call for creating files?
- Order by execution time: reading disk, accessing memory, context switch, writing a cpu register.
- How would you count the number of set bits in a very huge number?
See you next time!