It was my first time getting an interview at any FAANG company. The position was for SD II Fullstack Developer Bengaluru | Hyderabad | Remote.
After the phone call with recruiter he schedule the interview 1 month after so I can have a little time to prepare for DS and Algo. Although I never took DS and Algo seriously and had a little idea about these topics.
It was a 45min Technical Interview round. I was asked 2 question and I was able to solve those Problems as these was easy problems [as feedback says It was warm up round].
I was Rejected and given Boundary Line candidate feedback. I asked recruiter and he gave me detailed feedback where I missed and also the feedback of the person who took my Interview that where I was lacking.
Mistakes I made
- I was able to solve the first problem with optimal solution but Time complexity was wrong also made some trivial errors. Nervousness le dubi 😥.
- I was able to come up with solution but Unable to code as time limit exceed.
Although I though I did very good but It was not even enough. Will have better luck next time.
As per the guideline cannot share the exact questions but I will mention the type here.
- Was related to string validation [Leetcode easy].
- Something similar to generic language translator. [Leetcode medium].
- Coding: Borderline: able to map simple algorithm to code but made one or more non-trivial errors. Did not check all boundary conditions. Did not take advantage of well established language constructs and data structures.
- DS and Algo: Borderline: Marginal understanding of common data structures. Resulted in some significant errors in solutions or a generally inefficient solution. Able to implement and analyze a naïve algorithm well, but unable to improve on that solution.
- Design: Borderline: Designed a solution, but for incorrect problem or missed significant requirements. Did not use a sound problem solving approach (ex. didn't consider alternative or tradeoffs. )
- Efficacy: Borderline: Work pace was slower than expected for the complexity.
I was able to improve my solution but only after prompting by interviewer so never wait for him to ask, just tell him if he wants an optimal solution ?.
Most candidates gets to coding stage but I was able to only get to planning stage in second question.
- Always tell interviewer about your approach and its time complexity even if he didn't ask, also Ask him that if he wants you to have optimal solutions again even if he did not ask.
- Never jump directly to coding even if you know the answer just clear the approach and TC to him then ask for to implement.
- Ask as many question you can to clear the understanding of problem
- Do not miss the edge cases [these were the trivial errors I made]
- Understand time complexity thoroughly.
- Do not be nervous. [I was and made trivial mistakes which I realize after interview like: the time complexity].
My advice to you all, go to the interview with no expectations, don't let thoughts about failure get in the way of your own success. Keep your mind free, this is much easier said then done.
cover image is taken from google search:
Thanks for reading and best of luck ✌️
Top comments (8)
"Do not be nervous." This is exactly why a lot of companies are missing out on a lot of great talents which seem to suffer more often from low selfesteem and/or impostor syndrome. I just think those kind of interviews need to go (expect for very special cases with special job requirements)
Agreed with you @syeo66 But what other parameter they have to test a candidates strong hold on logical building and problem solving skills.
Well, would it have been that way back when I started my career as a developer I would not have made it. I would have bombed a 'technical interview' the way it is done today, terribly. But employers used to give people the benefit of a doubt and found ways to find out how someone works by using an esoteric technique called 'talking'.
In my view it should be possible to assess someone by just having a chat (at least as well as with coding interviews - but not as cheap, because someone needs the skills for that - and not just able to solve an already solved problem). Talk about technologies, let nerds be nerds and nerd out together. I get that it might make sense to test juniors with simple exercises because they might not have experience and a track record. But I am in the business for more than 20 years... maybe an employer can put a bit of trust into what I have done and achieved? And in the worst case there is still something like a probation period, right?
When I was looking for a job last time I tracked the amount of time I had to spend in take home assignment, technical interviews and other interviews (while still working as team lead). I spent about 30 hours every week for the companies. Pretty soon I had to cut the companies short when they told me there are more than 3 hoops to be jumped through (god, in one case they wanted me to do 7 interviews AND a take home assignment of between 12 and 24 hours). I signed with a company who did 2 interviews and not one was a coding interview.
Anyways, I just think companies need to understand they will not be able to find and retain the best talents (except of maybe if you are called Google, but maybe not even them) this way... and stop whining about the lack of good candidates when they make everyone jump through the hoops without even trying to convince you why they are a good employer.
Agree, you can get way more information about the candidate just by having a conversation. What have you done, how did you solve that, etc, etc... It makes the recruitment process more expensive, but I bet it pays off in the long term
Don't get disheartened, take it as a learning experience. I've heard that Google has a rather daunting screening process, as you've seen firsthand.
Better today than yesterday. Better tomorrow than today.
Thanks @eljayadobe 😃😃
Exactly same thing happend to me.
Well, good luck for next time 🦸♂️