A recruiter has been in contact with me for half a year, until I'm finally ready to apply. Then, they gave me a phone interview, 2-3 weeks later, followed by another phone interview. I'm going for an onsite interview in a few days.
Phone interview 1:
1. What is virtual function?
2. What is the benefit of inherent?
3. What is the advantage of interface in java?
4. Write a program to reverse a linked list.
5. Write a program to find the intersection of two sets and test your program.
Phone interview 2:
1. How to get k random samples in a large file of query key words?
hints: partition the files into n trunks. Load the trunk into main memory.
2. How to design a search engine? If each document contains a set of keywords, and is associated with a numeric attribute, how to build indices?
hints: use inverted list + B+tree.