I cleared @Google Interview rounds for Software Engineering position (L4) a couple of months ago. Sharing a COMPLETE practical guide on how to prepare for the interviews from scratch and do wonders 🤩 A thread 🧵


Firstly, let me tell you, the interview pattern for both the SDE 1 (L3) and SDE 2 (L4) roles is the same. A total of 5 rounds will take place. 1 Telephone screening round 3 Onsite (coding) rounds 1 Googliness round


Each round's feedback will be one of the following: Strong Hire Hire Leaning Hire Leaning No Hire No Hire Try to avoid anything below 'Leaning Hire' in all of the rounds. For L3 - try to get at least 1 Hire (and above). For L4 - try to get at least 2 Hire (and above).


In some case, even if you get a Leaning No Hire in exactly 1 coding round, they might give you 1 more chance to prove yourself in 1 extra coding round. But do try to get a Hire and above in that. Failing in that might result in downgrading from L4 to L3 or no selection at all 🥲


Now, coming onto the first 4 rounds. They may have different names but all of them focus primarily on your coding skills. You'll be given a single DS/Algo question which will have multiple parts with increasing difficulty level, all of which you'll have to solve under 45 mins.


Firstly, I'll recommend you to revise the programming language in which you're gonna code in the rounds. I preferred C++. So, I revised all the main concepts related to pointers, diff b/w reference and value, structs, classes, application of STLs and basics of memory allocation.


Believe me, proper knowledge of coding language is a MUST! I remember one interviewer literally tried to trap me on one particular line I wrote where I was basically freeing an allocated memory of a set. Had I not cleared my C++ concepts before, I would surely have fumbled 😅


Now, I would suggest you to go through all the below algorithms (and data structures needed to implement it). PS: Just deeply go through their theory and do 1-2 standard problems of it. Watch multiple theory videos on YouTube for each algorithm to understand it accurately.


Now once that's done. I would suggest you to solve all the questions from this Interview Bit platform till Level 7. Link: https://t.co/xY0MxifDlr All these problems are popular and EPIC! They cover basic complexities of all the algorithms and build a solid foundation for you.

interviewbit.com/courses/progra…


Now, I would suggest you to do a one time investment. Buy Leetcode premium subscription for 1 or 2 months. It will cost somewhere around $30 - $60. I know it might be too much for many. But its worth your money and time. Maybe find a coding partner with whom you may share expense


Now on Leetcode premium, open the Google problem set that they provided. Sort the problems based on the frequency with which they were asked in the last 6 months (in decreasing order) and start upsolving. I am not asking you to do all the problems but at least the popular ones.


I think this much is sufficient for the preparation of coding problems. You have done enough questions. You understand the concepts related to language and algorithms accurately. Now coming to some things you need to make sure while giving the interviews.


Communicate effectively! Don't try to rush a lot while speaking. LISTEN to the interviewer. Be calm and polite. Interviewer sometimes leaves the problem statement vague. Try to clear your doubts first. While you write, keep explaining at regular intervals what you are working on.


If your english is not that good, try to give mock interviews so as to get used to with it. Also you can give interviews at your timezone so that your country's interviewers are allotted to you.


This plays a HUGE factor! As for some people, American/British accent might be tough to understand or even in some cases, if you have a really strong accent, it might be tougher to understand for them also. Hence, communication gap may lead to improper discussion in the interview


The other important thing is - Code Quality. Try to write a production ready code that covers all practical edge cases. For ex. if you are writing a method: It would look better if you wrap it around in a proper Solution class. Make proper private/public methods. Modularise it.


Last but not the least - Code Verbosity! Name your methods & variables properly. Shouldn't be too short or long. Just precise. Check this out: https://t.co/sulqRkULWx Names should specify clearly what they do. Prefix of methods mostly contain a verb. Use proper camel/snake cases.

dmitripavlutin.com/coding-like-sh…


These above few things MUST be taken care of! Failing to do it might lead to rejection or downgrading from L4 to L3 even if you solve all the questions correctly under given time frame!


Now coming to the last important round - Googliness round. Don't take it lightly (even though it is light in most cases). Here, they check how receptive you are to your own mistakes. Basically how humble you are. Your leadership skills, your critical thinking etc.


For Googliness, I would suggest you to memorise by heart a couple of your main projects that you would love to discuss during the interview. You should know the managerial and technical aspect of it that was under your control.


What initiative you took on your own? What could have been improved? What feedback you got from manager? How did you tackle any miscommunication b/w you and a team member? How did you respond to a negative feedback by manager? Have you ever failed to deliver on estimated time?


And other questions like these. Prepare for it. Don't try to fake scenarios by showing yourself as a hero, as they pretty much catch you there 😅. Be real but also at the same time, try to portray yourself as someone who is always open to learn and grow from the mistakes.


Also most importantly, answer all the real/hypothetical scenarios that the interviewer throws at you using the STAR Framework. You can read it from here: https://t.co/0PvQgQi4vP It is a MUST! It easily leaves a lasting impression on interviewer that you've come well prepared.

themuse.com/advice/star-in…


Top