Interview with a FAANG engineer.

An Interview with a FAANG engineer

Interview Summary

Problem type
Design Robinhood

Interview question
For financial trading, design a platform where a client gives you trades to execute and your platform executes trades based on available buy/sell prices from the market.

Interview Feedback

Feedback about Nefarious Gargoyle (the interviewee)

Thank you for the interview today and great to speak with you.
Today we focused on a system design round.
For E5 I'd "lean toward yes/ 'yes' " since most signals were positively presented although there was some opportunity to dive deeper on topics like sql vs no sql and fault tolerance.
Since I was probing mostly for breadth (not necc depth), voting "yes" here on the IO site.
However, I've gotten some feedback that I can be too lenient sometimes :-)

Strengths:

Further suggestions

Interview Transcript

Stochastic Panda: All right, so what I will then lay out is brief intro.
So that'll be total of 5 minutes. Then we will just do any kind of like goals, level setting very quickly, maybe 2 minutes. And then we'll do the main system design round which will be basically 35 to 45 minutes. And then feedback, initial feedback, I should say. And basic recap. How does that sound?

Nefarious Gargoyle: That sounds great.

Stochastic Panda: Fantastic. Fantastic. Okay, so for intros, let's do one or 2 minutes each. Of course this is an anonymous platform, so feel free to disclose as much as you're comfortable with. Would you like to get started or shall I get us started?

Nefarious Gargoyle: You can go ahead.

Stochastic Panda: Okay, great. Yeah. So my name is Ivan and I've got about nine years of experience, mostly in machine learning, machine learning engineer and in big tech. I've worked at Amazon for a few years and currently I've been at Microsoft now for a few years. So a bit of experience in large tech companies and what else? Yeah, I've been on this site now for some time, both as interviewer and interviewee, mostly in the last months as a dedicated coach. So that's me. Yeah. How about you?

Nefarious Gargoyle: Yeah, I have been a senior software engineer, well, mostly on the full stack experience for a couple of years now. I think it's been like five to six years. Before that I was doing more mobile stuff. But then when I came to work in the US, actually, I started working for Amazon first, and then after that I went to meta. And then I found out that being a generalist is usually the way to go in the big tech company rather than being siloed into the mobile space. And right now I'm actually in a startup. But seeing now the job market seems to be like picking up for the big tech again. I'm planning to try to go back to the big tech company and yeah, I think system design is probably one of the trickiest part of the interview compared to the data structure algorithms. So here I am interviewing Dio.

Stochastic Panda: Perfect. All right, and thank you for that nice intro there. Sounds good. And in terms of goals, level setting, you mentioned some hints in your intro. Would it be fair to say that we're targeting maybe like an l six or l seven, let's say relative to Amazon?

Nefarious Gargoyle: Yeah, I think in meta it's like e five. So I'm not sure if it's like l six maybe yet, but I think it's around there.

Stochastic Panda: Okay, so let's say that I think Amazon and meta levels are slightly different, but I'll say or e five meta. Okay, great. So that is helpful. Fantastic. So I do have a system design question ready and.

Nefarious Gargoyle: Nice.

Stochastic Panda: One thing that I'll actually note before we get started is two things. So one is if you've done a system design interview before on I O, just so that we're on the same page, in the bottom left there is a toggle whiteboard option. Have you had some experience with it?

Nefarious Gargoyle: Yeah, I've been using that one.

Stochastic Panda: Okay, fantastic. So that's good. And then these are some general things. Of course, we're tending to look system design interview general across levels e five or e six. But we're going to pay special attention to some minor deep dives that we'll do in the interest of time, but just making sure that layout kind of makes sense. Any questions on that overall layout before?

Nefarious Gargoyle: Yeah, this sounds great.

Stochastic Panda: Fantastic. All right, so I'm watching the time and let us go ahead and get started. So here's our system design main question. Here we go.
So take some time to read it and we can get started.

Nefarious Gargoyle: Okay. Would you be okay if I actually copy this and bring it to the whiteboard?

Stochastic Panda: That sounds good. Sure.

Nefarious Gargoyle: Yeah. Because usually I think it's easier to just put all in one page. Execute. Okay, so for financial trading, design a platform where a client gives you trades to execute and your platform executes trade based on available buy or sell prices from the market. Gotcha. So probably this platform sounds like kind of like Robinhood kind of platform where creating a financial exchange trading app. So let me just put it there. I'll write the functional requirements first.

Functional requirements

Non-functional requirements

Further Clarification

API Specification

Diagram Illustration

Other Considerations

Closing Remarks