Google|Software Engineer| Pittsburgh| Jan 2019 [Reject]
Anonymous User
2184

About me

In 2019 at time of interview

  • Status: 4 years experience, non CS major
  • Position: Software Engineer
  • Location: Pittsburgh, PA
  • Approx Date: January 2019

In 2021

  • Status: 6 years experience, part time MSCS in progress

Interview experience

Onsite (5 rounds):

  • Language:C#
    • given experience in .NET
Round 1 Minimum Area of Rectangle
Round 2: Queues/Stacks
  • Related to the "Quack" data structure.
  • I do not remember the exact question.
  • My guess is that the expectation was to implement a queue using a stack.
Round 3 Find longest substring with same characters
Round 4: LRU Cache
  • Given a static method API.GetSuggestion(string)
  • Call this method
  • How can you improve performance of this method given that this method is maintained by another team?
  • I think this question was a form of LC
Round 5 Graphs
  • Similar to this question
  • Basically, Clash of Clan themed question but essentially graph based.
  • Graph was a weak area and I got hammered here.LOL.
Result

Reject

Thoughts

Why are you posting a 2019 interview experience now?
  • I am putting in this post in 2021 two years after the interview.
  • One may wonder why.
    • Well, because the memories are not great.
    • The good thing however is that I am getting better I think.
  • Specifically, I have practiced 100+ problems now as compared to before.
    • This might help a bit.
  • Importantly, the goal for me is to learn from my mistakes and also from others observations and others experiences.
  • In short, I want to do better next time I interview, just like everyone else!
Phone screen
  • The technical recruiter was brilliant in his follow ups and also selling me as a candidate.
    • Specifically, he asked me basic technical questions to gauge my level of expertise.
    • He got the feeling I am good to skip the phone screen.
    • I was elated but a bit scared too.
  • Given that I tanked the onsite, it is unlikely that I would have cleared the phone screen at the time.
    • Either way, the experience in onsite is useful for future interviews.
    • And alteast I got to keep a bottle with Google written on it :-) i.e swag, somewhat :-)
Onsite
  • This was a true disaster. LOL.
  • I had tanked phone screens at Amazon and Argo AI so my confidence was not exactly high.
  • I also requested for a chromebook which I did not end up using. I used the whiteboard.LOL.
  • Upset stomach did not help either it seems.
Lessons learnt
  • pre COVID era :Skip the free food, for now

    • In campus onsite: Do not be greedy. Eat a banana. Keep it light. The interview is already stressful.
    • Looking at all the free food in FAANG companies you will be tempted.
    • But remind yourself that you can use this perk thoroughly if you want after you get the offer :-)
    • You will not regret it. This is because you can solve problems with your stomach not upset it turns out :-D
  • pre COVID era: Google:Make sure your chromebook is ready

    • Make sure a day before onsite that your chromebook is setup.
    • For me, the interviewer had to find a chromebook and set it up.
    • This took time and the whole interview schedule got delayed by this.
    • I got rejected because I was not well prepared. But when you are well prepared, better to get the logistics right :-)
  • Brute force solution:

    • Get something working, fast !
    • For the first interview, I came up with a O(n^3) solution but it took most of the 45 mins interview.
    • However, the goal should be to come up with brute within 5 mins or 15 mins max for 45 mins interview. Remember, less time to code if you spend all your time on brute force solution :-)
  • Interviewers talk

    • If you screw up one interview, keep in mind that the current interviewer will chat with the next interviwer.
    • You do not know what they talk about.
      • But I did hear the current interviewer tell the next guy which question he asked me and how I performed.
      • This probably helps the next interviewer gauge my level.
      • But for me, my confidence took a beating a bit.
    • The fix for this is to be really well prepared.
      • I think you sort of know this when you solve unseen problems in 20 mins or complete contests.
      • I will include an update once I am more sure.
  • Catch all the bugs

    • Being too eager, i.e "submitting" code to interviewer is not recommended.
    • If interviewer finds major bugs, which they will, you will not get the job.
    • The fix is simple: test out atleast five unique test cases.
  • Practice, Practice, Practise

    • I am not the first one and definitely not the last one who will say this:-)
    • But this is important.
    • It is important, because minimally, none of the problems I was asked were "unseen".
    • I mean except for the substring problem which I got working rest were "unseen"
    • They were unseen only because I had not done LC grinding much.
  • [Different phone screen: Amazon:Reject] Pick the right programming language and know it well

    • For another interview(phone screen only), I was using heap and I was asked if C# has a heap.
    • I said I think I did not know. That was a mistake. It turns out SortedDictionary can work. See SO
    • But this time around, I am planning to go with C++ which I use at work now. C++ is better I think in the sense that there is STL support with clear support for heaps, stacks, queues , you name it.
  • [Different phone screen: Argo:Reject] Solve all problem types in advance

    • I was asked merge intervals question. It was "unseen" for me but it turns out it is a standard question. Now I know.

Summary

  • Overall, it was a disaster but I am sure I and others who read /re-read this post will learn from my experience and avoid the mistakes I made.
  • Meanwhile, (a)any thoughts for improvement , (b)feedback on how I could have done better, (c)what worked for you in a similar interview in the past is welcome in the comments section.
    Always be leetcoding.
    Thanks!
Comments (5)