Background: EE, and did several years in embedded and >5 years in software development and software team leader experience.
Contacted by the recruiter via linkedin and passed phone interview.
Phone Interview:
- https://leetcode.com/problems/delete-nodes-and-return-forest
- cannot remember the details, but it is a binary search equivalent problem, given a list of integer numbers and find a largest number so that the number <= it you take all, and >it you take the number, (You need convert equivalently to this).
Onsite:
Round 1: [Googleyness and Leadership]
- your understanding on working ethics
- tell me a time you are not satisfying with colleague's work and how you handle it
- tell me a time you think one will not succeed in one work, how you handle it
- if you have power, how do you handle the privacy problem
- forgot several other questions
Round 2: [System Design]
- Design Instagram:
- upload pictures
- view/download pictures
- share pictures
Round 3: [Coding]
- Variation of Coke Machine. Given a list of cups and you are to fill the container to the range [L,R]. return a combination of cups. Cups can be reused anytime. Any combination is fine.
Round 4: [Coding]
- please criticize this function
int hash(const char* str) {
int ret=0;
for(int i=0;i<strlen(str);i++)
ret|=str[i];
return ret;
}
Round 5: [System Design]
- Chat for 20 mins
- Given an incoming of tasks say from T1 to Tn, and there is a GPU which can execute m identical tasks at the same time in t1. Each task is expected to complete in t2
t2>t1. Design a scalable system to maximize the GPU throughput.
Overall experience: the interviewers in google are not serious about it and some even did not know anything about my resume and the recruiter told me it was 3 codings, but it turns out 1.5 codings. The lesson I learned: Do not rush to answer, trying to think for a minute before answering, pay attention to details and edge case, be humble.