Interview with a FAANG engineer.

An Interview with a FAANG engineer

Interview Summary

Problem type
RSS News Feed
Interview question
Design an RSS News Feed
Requirements:

Interview Feedback

Feedback about Aerodynamic Tornado (the interviewee)

Feedback about Adequate Goose (the interviewer)

Interview Transcript

Adequate Goose: We can get started. Would you like to tell me a bit more about your background and what you do?
Aerodynamic Tornado: Yeah, sure. Are you able to hear me still?
Adequate Goose: Yes, I am speaking to you.
Aerodynamic Tornado: Okay. Yeah.
...

Aerodynamic Tornado:
Okay, so just trying to understand the question here. So we are trying to design the RSS feed which is similar to the link that you shared, is that correct?
Adequate Goose: The link that I shared is just to give you an example of what the RSS feed looks like, right? That's an example of what RSS feed is and when you are thinking of designing it, we can discuss right. What kind of application are we trying to design? Is it mobile based, browser based and so on.
Aerodynamic Tornado: Okay, so the user so there is an RSS feed URL that the user selects and then they are selecting. So this can be like is this going to a point like on a browser or a mobile app or.
Adequate Goose: Tablet? Yeah, sorry, I didn't clarify that. Sorry. ...

Aerodynamic Tornado:
Okay, and then user can also edit or delete any subscription. But they need to have at least ten subscriptions. Okay?
Adequate Goose: Yeah. So I can clarify your question about what that link should look like.
...

Aerodynamic Tornado: Okay, so let me just rephrase them. New seed refresh periodically and then like we said, your push or pull method and then when the user clicks on the news it should load the title, the images and other details related to the news.
...

From the design perspective, we have a UI that interacts with an API layer to fetch news articles, which are managed in a relational database. Each news article will have associated metadata such as title, media content, and more. A caching layer ensures faster retrieval of frequently accessed articles, and we employ an event-driven architecture to maintain responsiveness and availability.

Metrics for Monitoring

  1. Availability - Track service uptime and health metrics such as CPU and memory usage.
  2. Latency - Monitor mean time to response for API calls and news feed generation.
  3. Resource Utilization - Measure resource usage to identify bottlenecks.

Additional Notes