Background I have 15+ years of experience Appeared Google 7 times, and several other companies including Facebook, Microsoft, Amazon. Worked in services & products companies.
Feel problem solving is never ending
I hope u feel me here.
Learning is tiring process
But good thing is at least google, won't care if you have 100% knowledge, but see how did u solve the given problem - assuming it is not seen by you. If u already saw, then it is not solving, isn't it?
In last 1 year, attended Google, Facebook, Amazon, also Microsoft, etc if u add a few more years.
Let me do it reverse
GAFAM = Google (Alphabet), Apple, Facebook, Amazon, and Microsoft
1. Microsoft - a few years back I got offer here but left the company in a few months. Did not work out for me. Company & policies are great, people not so much.
You fight for team, you get affected, you leave. Don't bother about equity? you adjust to environment & continue.
Not in general, but my team at least.
Microsoft - now They schedule interview, but no interview happens Possibly unprofessional is new standard. Or not being thorough is new standard - if you quit company earlier, you are kind-of banned - but they schedule & do not take interview on the given interview date.
2. Facebook I like how the interviews went Just 5 interviews, and I felt I learnt a ton from them.
FB Round 1: Simple easy to Medium questions. Mainly binary search Interviewer admits that if you are a competitive programmer then you have an edge over others Also, if you can see binary search (or related), you are good to pass. So, it all comes to if you can see binary search (implying, logN solutions) you are good
Result: PASS Reason: I was OK when interviewer shouted at me when I was murmuring my thought process. Yes, not thinking out loud was mistake, but interviewer shouted??? :D felt scared what if I work under same interviewer? But anyway, since I could handle shouting well and adjusted, I think that is main reason to pass (apart from getting logN solutions correctly).
FB Onsite - behavioural, 2 tech, design rounds
Behavioural + Programming
I was not expecting a programming question in Behavioural round, the mind did not adjust to it. This is basic thing, I should have adjusted, felt cheated, could not get out of it. The interviewer is heavily experienced, you cannot lie to him, he will know. Of course, I don't plan to lie. Major mistakes were how I told my stories of me leading a project, how I saw a person who did not follow rules in the project, and mainly how I handled it. If you saw The OA on Netflix, you will know in 1st 3 to 4 episodes, that Teachers are there to teach people who are not following rules, coz they need help most, not the ones who are doing great already. My story did not get that gist in a proper way. Preparation and reciting to others might have helped here. But it is all about how you really feel about your team members. I learnt. Coding question in behavioural, I felt embarrassed of putting extra conditions, this was a serious mistake
for ..; A<B; .. {
while (A<B && anotherCondition) {
// ..
}
while (A<B && anotherCondition) {
// ..
}
}
The A<B is repeated in inner while loops & is required, but felt ashamed of repeating it, and was pointed
Result: Obvious more towards fail.
Reason: Only 70 problems solved at that time. The inexperience clear shows (feeling embarrassed to put the required condition).
Technical 1, 2
A to Z and 1 to 9 kind of problem
This required the obvious DFS (backtracking)
But I did not know backtracking at that time.
Interviewer replied "This obviously works., but why did you do that?"
obvious works is because I can solve unknown problems
The but was clear indication that I was not ready
Result: Obvious fail. Didn't know backtracking, somehow made it work. Problem solver, but not experienced enough to write smaller program ( => less bugs ).
By small, I do not mean writing 2 or 3 lines in one line here (which is what we see on answers), but proper backtracking calls itself recursively properly.
Reason: Backtracking problems solved = 0 Similar not so good performance, only 70 problems solved, and not covered breadth.
System design I was not prepared Should have written the architecture on paper. Later learnt that you should choose your last 2 projects and write down everything in detail
Result & Reason: Fail again, major reason is I thought I should be at high-level, but feedback is I was not in-depth. I should have gone into DB tables, etc. Another was I was too chatty with the interviewer; my questions went along the line of "is it all rule-based, or any machine learning work also you guys do there?". Kind of, will not go well with most interviewers.
I should have understood when interviewer said: "Can you tell more about the project" and next one was "I don't have any more questions, and we completed too soon" they implied, my explanation was not in-depth
Recruiter said: "None of the interviews went very well." And, I assumed I aced them It kind of hit me hard. I came from stars to earth immediately.
3. Amazon
Nothing much to tell here
The 14 Leadership Principles of amazon are more than important - than anything.
Phone screen Purely technical on bit of my project architecture, question on how to scale database if more number of users coming (how to generate unique key for users if database is on more than 1 machine?), etc. PASS
Manager round Purely amazon principles FAIL Reason: Me: "I have worked on projects with millions of users, I would like to work on projects with billion of users" I don't know why I told that. Obviously above one fails multiple amazon principles they have, interviewer had very tough time to talk to me after that.
Just interview pressure, and unpreparedness was very clear.
4. Google
Round 1
Interviewer: Please solve this question Me: I have not solved any questions on "intervals", can I get another question
Result & Reason Now, you know the result of interview. It is not googly to ask for another question Should have tried to stick to the question and tried
Madam was kind enough to give another one.
She gave another simpler question for someone who only solved 70 problems (and, not covering much of breadth of problems)
I solved and wrote arr.indexOf( .. ) and found the same when she asked for complexity.
I can change the answer to map in 1 min, but she did not give me.
Interviewer came late by 4 mins But left on time She did not feel I was ready (even though I could have fixed it to Map, I should have done it in the 1st place)
Prep Strategy & Summaries:
so he/she wants to hear what you think that is the reason you need to think out loud If they think u already know the answer, they will ask another one If they think u don't the question, they will give hints so thinking out loud is benefits both interviewer and candidate
This helps in giving your best, each round
If there is one job Two of the best engineers go to the interview. They r equal in all aspects of interview. Can both get the same one job? Obviously no. Luck factor is there. Don't assume, you are the best, luck does not have any place.
And, there is a possibility that neither Passes the interview because of external factors
Below link is enough to cover breadth