Phone screening with recruiter:
- 3 adjectives coworkers would use to describe you?
- Why would you want to work at Yelp?
- Port number used by HTTP?
- Protocol underneath HTTP?
- Runtime efficiency of searching an element in an array using a binary search algorithm?
- Complexity of adding an element to the head of a linked list?
- Maximum value of 32 bits unsigned int?
- Number of digits needed to code an octet?
- What if we're in base 8?
- Number of bytes to code 64 bits?
- What does SSL stands for and what does it do?
- What is the Linux kill signal?
- Command to highlight the occurrence of a method in a file?
- Would you apply a binary search on a linked list or a sorted array?
- Is an inner join an intersection, a union or something else?
Phone interview with engineer:
- Started by presentation of himself, his team, and other teams
- Why computer science?
- Talk about an interesting project you implemented.
- How would you improve it?
- What did you find most interesting in that project?
- If a request takes too long, what could be the reason?
- Describe different steps when a form is posted
- Coding problem to do on a shared pad:
# given a list of words, write a function which
# takes in the list, and groups the words together
# according to which ones are anagrams of eachother
# e.g.
# input = ["art", "rat", "bats", "banana", "stab", "tar"]
# output = [["art", "rat", "tar], ["bats", "stab"], ["banana"]]
I wasted too much time trying to come up with an iterative solution when the problem is "easily" solvable with a recursive algorithm.