System Design Interview (Build Instagram)

A System Design interview with a FAANG engineer

Interview Summary

Problem type: Image Filter Service
Interview question: Create a service that allows users to upload an image and apply filters and then sends users a link to download their filtered image

Interview Feedback

Feedback about Nihilistic Hawk (the interviewee)

As mentioned in the call. The passing for this interview would depend on the level you are applying for. If you were applying to mid-level, I would change the rating above from "No" to "Yes" and the stars to be 3/4 instead of 2/4. So my rating above is based on the fact that you are applying for a senior position.

Here is the framework you can use for asking questions:

Feedback about The Inimitable Thunderstorm (the interviewer)

Interview Transcript

The Inimitable Thunderstorm: Hello.

Nihilistic Hawk: Hello.

... (Conversation goes on regarding the interview and discussion about image processing service)

The Inimitable Thunderstorm: ...So let's talk about the image. Upload service. So going back to single responsibility principle, this is just uploading images. So talk to the database. And then, you know, persist that information there and send it off to the filter service.

... (Further details on system design and how to handle user uploads, filter selections etc.)

Design Requirements

  1. User uploads an image.
  2. System applies selected filters.
  3. User receives notification via email or push with a download link.
  4. Filters can be added by administrators.
  5. Store images for up to three months.

Non-Functional Requirements

Considerations

Conclusion

This interview emphasized the importance of articulating thoughts clearly, asking relevant questions, and being aware of non-functional requirements. This will help in designing a scalable and robust service.