Message on Whatsapp 8879355057 for DSA(OA + Interview) + Fullstack Dev Training + 1-1 Personalized Mentoring to get 10+LPA Job
0 like 0 dislike
960 views
in Interview-Experiences by Expert (30,360 points) | 960 views

1 Answer

0 like 0 dislike

Before we jump the interview experience, here are something interesting on interacting with Google recruiters. You can skip this part, if you want. Google recruiter approached me on July, but after some conversation with her, she realized that I am based in UK, but she is responsible for hirining US. She refered me to her colleague in Ireland, then I started to talk with him on various opporutnities. We found one or two positions interesting me and fit my experience very well. The recruiter asked me about the programming language I prefered, and I told him that I prefered Java in coding interview. However, he wanted to check with hiring manager to see if the hiring manager is ok with java-as-programming-language, because "there are many applicants so hiring manager is picky on the language". Then, no response from him, and I have no idea on the details of the position.
After about 1.5 months, I almost forgot this conversation, and he called me "did you tell me if you are ok with C as interview programming language?" I am speechless and unhappy, anyway, we continue the conversation, and he promised to give me more details on a position after the call. Instead of sending JD details, he refered me to the thrid recruiter, who knows more about the position. After about 3 months, I started some meaningful converstaion with the third recuriter. He is very helpful, give me brief introduction on the position, interview process, and how to prepare it.

 

There are five interviews scheduled in one day. The first one is the behaviour or gooleness one, system design is the 2nd one. The following three are coding interviews. The order of them is not what I epxected, the interview email has time slots, but it is unclear on which slot is about what. I should recruiter.

 

Interview

 

The behaviour interview is about questions you can find on internet, like how do you handle some conflicts in workplace, how to collaborate with teammates, how do you adapt to other people who have some complete different styles, etc. Interviewer is quite friendly, feel no pressure.

 

The system design starts from the very simple case, a typical producer and consumer problem. Gradually add more, change it to a multi-thread env, one producer and multiple consumers, multiple producers and multiple consumers, etc. Questions are about sync, lock usage, and performance. Pseudo code is written. At last, the interview extended the problem to distributed env, where there are multiple boxes. Interview is more like a discussion with colleague instead of an interview. The intervier is very smart, quickly identify the performance issue in my design, and ask me to find it. Fortunately, I am able to find it.

 

The first coding interview is more domain specific, not a general algorithm one. Questions are about memory safety in mallocfree and memcpy/memmove. I was asked to implement them for some memorysafety requirements. Still have time on the end to ask interviewer questions.

 

The 2nd coding interview is a general algorithm one, which the worst one in all of them. The problem is there is a sorted array of strings, and string prefix, write a function returns the number of strings have this prefix. I started from binary search the array, to find the number, but its complexy is linear in some cases. The interviewer kindly remind me this and give me a hint, then, I have to rewrite everything from scratch, and started to be nervous. I sort of wrote two functions, each of them is a binary search, but spent much time on the conditions to choose the 1st half or 2nd half in binary search. We run out of time, and I almost finished it. At the end, the interviewer gave me a advice on avoiding going to the deadend in the interview, which is not a good signal.

 

The last coding interview is to flip the byte bitmap horizontally. Like, 10000100 10 is fliped to 01001000 01 to I wrote the code to do it when the bitmap is byte aligned, provided some test cases, etc. It is a right implementation. Then, interviewer ask how to change the code for the unaligned bitmap. By unaligned, I mean each row of bitmap has 10 (not 8 aligned) bits. I didn't have time to finish it.

 

Conclusion

 

In general, I am very satisfied with five interviews, except the 2nd coding interview. Still need more practise on coding problems. No feedback from recruiter yet, but I am not surprised that I am rejected.

by Expert (30,360 points)