Interview with a Google engineer.
An Interview with a Google engineer
Interview Summary
Problem type
Design Facebook Events
Interview question
Design the Facebook Events Service
Interview Feedback
Feedback about Absurd Bandit (the interviewee)
Advance this person to the next round?
Yes
- How were their technical skills?
3/4 - How was their problem-solving ability?
2/4 - What about their communication ability?
3/4
Strengths:
- Good Knowledge
- Good Problem solving on the fly
- General idea of system design interview and structures
Things to work on:
- Time management, try to get to the HLD Faster
- Beware of your language, it's a really bad signal if you use foul language when under pressure or being questioned on your choices
- Read up on more common design problems and most importantly how to solve them at scale. A few things that will help are:
Feedback about The Grey Dictaphone (the interviewer)
Would you want to work with this person?
Yes
- How excited would you be to work with them?
4/4 - How good were the questions?
3/4 - How helpful was your interviewer in guiding you to the solution(s)?
4/4
Good at hints, patient, and gave some quick solid advice about the internal process at Google.
Interview Transcript
Absurd Bandit: Hello?
The Grey Dictaphone: Hey, can you hear me all right?
Absurd Bandit: Yeah, I can hear you. Okay.
The Grey Dictaphone: All right, perfect. How are you doing?
Absurd Bandit: Yeah, not too bad, man. How are you doing?
The Grey Dictaphone: I'm good. All right, if you're ready, let's get started. Before we get started with the actual system design block, I ask a few questions just to gauge the level that you're targeting and things like that...
The Grey Dictaphone: Okay, that makes sense. Cool. Let's get started then, I'm assuming. Is this your first mock with interviewing IO?
Absurd Bandit: I think this is my first with interviewing IO, but I've been doing mocks lately with people that work at fang companies...
The Grey Dictaphone: The first part would be, each Facebook event gets its own Facebook page, where all the people who are part of that event can interact with each other...
The Grey Dictaphone: ...So let me put it this way, right? You have a Facebook app, you go on it, and then one of the sub tabs, because Facebook has so much other stuff...
The Grey Dictaphone: So for L four, let's do Facebook events. I know, I mean, you're doing Google, but I'm asking a Facebook events question...
Absurd Bandit: No, sorry, I'm not on Facebook, so I'm trying to get...
The Grey Dictaphone: The second part would be, which is the last one would be, an event will have much more metadata than a normal calendar event...
Absurd Bandit: Okay, so there are two basically subsystems of Facebook events. So it's the calendar and then the Facebook features.
The Grey Dictaphone: ...That's where you can track and RSVP to events...
- Features include:
- Notifications and reminders
- Each event gets its own Facebook page
- More metadata associated with events
- Users can interact by posting pictures and comments.
Absurd Bandit: ...The system is obviously something that's big. It is something that we want available all the time...
The Grey Dictaphone: ...And we do want things to be easily accessed. So cross this out for now. So this is something I can just balance the load and then if we had this server...
Absurd Bandit: Cool. All right. Just writing some stuff down. Okay. So obviously this is probably pretty high scale because Facebook has a lot of users.
The Grey Dictaphone: Okay, let's come to the feedback part, which is essentially what you paid for. On a high level, which is what I would tell a recruiter...
Absurd Bandit: So it's more about what is the best fit overall...
The feedback indicates areas for growth, such as improvements in data modeling and interaction with system design. This reflects the importance of understanding technical details even during mock interviews.