I’m preparing for an onsite Google L6 (staff eng). I have two questions. I will greatly appreciate any insight... 1. Should I focus more on coding problems (specific level like medium or hard problems) or system design problems? It’s been a while since I’ve solving competition types of problems (lvl hard), so I don’t know how much time I will need to get back on track. 2. This may sounds stupid question, but how do I know the type of problem is simple algorithm solution or complete design of a system. Let’s say question is: Implement movies ranking? Should I go in details of functional and non-functional requirements to find the scope of the solution I need to provide? Movies rankings can be range from simple sorting algorithm to distributed, high availability platform serving data from multiple regions, multimaster replication involved, load balancing etc...
You can always ask, is this system design question.
If you don't understand if something is a system design question or coding, the your interviewer is not doing a good job
Why? may be he is doing a good job by being vague. As a senior engineer when a problem comes up in day to day life do you go ask your manager if you should write a script to fix it, or design a system to have a long term solution? You weigh the pros and cons and decide based on that. So if as an interviewee you should ask questions and based on those questions determine if its a coding question or a system design one. That's a good indicator of how senior a candidate is.
In reality- yes. But the question here is what are the expectations at this specific company and this specific engineering level.
You can always ask if you need a detailed solution or a design. Also some of the design problems are pretty obvious in their description.
Thanks for the feedback. Do you have any advice on the format of the interview I can expect (how many coding vs design vs behavior questions) and is there something specific I need to pay attention for the L6 lvl interview)
As an L6, you should be leading the discussion. Ask clarifying questions. State any assumptions you are making. You need a good breadth of knowledge that is hard to get from courses like grokking the system design. Read books like designing data intensive applications, building microservices, etc
TC & YOE or GTFO
350k/15yoe. No need for the language.
Didn't know Toyota pays so well
You can go as complicated as possible and for highest number of potential users . If the interviewer wants to drill down in an area he will let you know
It’s management level somewhere around L7 at Google, so I’m leveled down a little bit...
I was interviewed for L6. I had only 1 design round.
How was the telephonic ? How many questions ? How much did you prepared for it ?
You should already know if the round is for system design, don't have to guess.
The recruiter didn’t bother too much in explaining me, he sent me massive list of subjects I need to cover in order to prepare myself. So I don’t know the format of the interview and the order of the rounds (behavior, system design or algorithm). I don’t know how many rounds of each I should expect. Someone mentioned at Blind that 2 coding and 2 system design + 1 behavior round. But I think it was older post.