谷歌L3 New Grad挂经

毕业前我开始了申请new grad position。最后我被拒了。面试题都是我在LeetCode中从未见过的新题。

关于test cases and examples 在我的所有面试中,没有人给我一个例子或测试用例,我必须自己找。我要求clarify问题,看看expectation。一般来说,面试官会告诉你,但有时他们会说也许吧。

第一轮店面

45分钟.
The interviewer gave me a hard graph problem. The challenge was first to identify it as a graph problem then solve it. I could do it in time (40 mn). He then gave me the opportunity to ask questions.

第二轮店面

45分钟.
The interviewer was nice. This time I had a question framed as easy then the interview started adding constraints to make it more difficult. It was about arrays, graphs, hashmaps. Each time a constraint is added, I need to modify my code to meet the requirements.

Onsite

4 coding questions of 45mn and a behavioral interview. I had 15mn between every two interviews to get some rest waiting for the next interviewer to come. Interviewers are nice, and I could talk with them freely and ask them all the questions that I wanted.

  1. First interview: 5 mn spent in technical problems, 5 mn asking me about myself, then the interviewer asked me a question which I solved, then a follow-up, in the last minutes a realized that if I had addressed it as a graph problem, I would have solved it.
  2. Second interview: 5 mn where the interviewer was talking about how it will go, etc. I got an NP-hard problem, I gave him all the possible solutions, but I wasn’t able to find the specific one that he wanted. So he gave me hints for that. And this is not appreciated.
  3. Third Interview: This one the interviewer wanted me to design a class that does some specific task, and to do all operations in 0(1). It went pretty well.
  4. Fourth interview: The interviewer asked a question which wasn’t clear, I spent more than 15mn trying to understand what to do, asking clarifying questions, it was like trying to guess what they wanted me to do. I could find that after 25mn and solve the problem. The interviewer was satisfied.
  5. Behavioral interview: This one was nice and relaxing. You can expect questions like: Tell me about a time you had a problem with a team member, you couldn’t solve a problem,…

我也报一下记得的三道题

  1. Given a deck of cards as a string input and an integer K denoted as number of moves. During first(even) move we discard the top card (left character). During the second(odd)move, we put bottom card (right character on the btm of deck) on the top. This procedure repeat until the k move. After k moves, what is card on the top of the deck?
  2. Given a string mainString, two substring strA and strB. Find the shorest substring in mainString that contain strA and strB in order. i.e: strAxxxstrB that has the shortest length
    Followup: how to do that when we are given K substring instead?
  3. Given a list of x,y coordinates that forms up a polygon and an integer K. Divide the polygon into K equal segments and return the list of coordinates for each segment.