Background: Backend engineer with 2 YOE
Hello Leetcode community, I just wanted to share my experience interviewing with LinkedIn. Hopefully this post helps some of you along the way. It's my way of saying thanks to this wonderful community.
Recruiter reached me around May through LinkedIn.
Technical phone screen (1 Hour):
Had a couple of medium questions related to trees and Strings. I was able to solve both of the problems. Interviewer was very friendly.
The next day I was notified that I made it to the onsite. I scheduled it over a month to have time for preparing.
On site (5 rounds)
Let me be honest with you, the rounds were kind of heavy because all of them were 1 hour long. I had an onsite experience with Facebook and the rounds were 45 minutes long. It is just a couple of minutes but I made a slight difference for me.
First round: Behavioral
This one was the best round, it was with the Hiring manager and he was very very friendly, really enjoyed this round.
Second round: Technical communication
This round was for me to describe a project that I had developed. LinkedIn really goes deep into your actual work and your projects, I really liked that. This round went OK.
Third round: Coding
I was asked one Hard problem related to strings and one medium problem related to linked lists. I was able to code the hard problem optimally but the medium problem I wasn't able to come with the ideal approach. Nonetheless, I still coded a good approach for that one.
Fourth round: System design
The interview started by me describing a problem that I had resolved on the past related to architecture. Then after 15 minutes I was given the problem. I had some flaws because I wasn't aware of the purpose of the components of my system.
Fifth round: Coding:
By this point I was getting tired but I had to give my best to get a good result. The problem was to design a specific data strucute, the issue was that I didn't study that topic really well. I messed up at the beginning but thanks to the hints of the interviewer I was able to come up with a good solution. I think this was my worst round.
By this point I knew that I wasn't going to receive good feedback. My recruiter reached me and told me that they wanted to make 2 more interviews, one coding and one for system design.
I had 2 extra weeks to prepare, so I put my heart and soul at studying those topics.
Extra coding round:
This problem was medium one and I got to a good solution. Interviewer asked me if I could optimize it and I was able to get to the best solution.
Extra system design round
As before, I had to explain one architecture problem that I had solved before and then into the design problem. This time I was able to talk about the specifics and able to scale the system on a global way. Interviewer seem satisfied.
Recruiter reached to me after a couple of weeks saying that the feedback was postivie (yay!!)
Final thoughts
All that I can say is that this was one hell of a journey. I was never one of the smartest kids on the degree. I really had to go to the darkest places, face my fears and build a person that I was never before. I started this journey around 2 years ago, and after 533 problems solved and a lot of rejections, I was able to achieve it. And if I can do it, so do you. There is no secret pill, no magic formula. For me, it was only hard work and consistency.
My preparation:
I bought LC premium and for the last year I studied at least 3 hours from Monday to Friday
On the onsite preparation, I always set a timer for solving problems. My goal was to solve one medium under 20 minutes. Also I stared using an external coding environment because most of the times you don't have all the tools that LC provides like autocompletion or closing brackets
When solving a problem I always spoke as If I was on a real interview. This helped me a lot!
For system design I took the GSDI course, but I suggest you also read that famous red book (Desining Data....) for undersating the purpose of every component of the systems
For behaivoral I used the famous platform for mock interviews (PR..P)
I did at least around 80 coding and system design mock interviews
Kaizen, baby steps every day. At the beginning I started studying around 30 minutes, but every day. Discipline equals freedom
I hope this post helps you in someway. Huge thanks to all the community!
Stay hard and good luck!