Design Instagram
메타의 인스타그램을 디자인해보도록 합니다.
문제 이해하기(Understanding the Problem)
Instagram이란?
Instagram은 시각 콘텐츠 중심의 소셜 미디어 플랫폼으로, 사용자가 사진과 동영상을 팔로워들에게 공유할 수 있게 해줍니다.
Instagram 설계는 Meta뿐 아니라 거의 모든 FAANG 및 FAANG 인접 기업에서 가장 흔한 시스템 설계 면접 질문 중 하나입니다. Facebook News Feed나 Dropbox 분석과 유사점이 많지만, 문제의 인지도와 수요가 큰 만큼 본 글에서는 Instagram을 별도로 다룹니다.
기능 요구사항(Functional Requirements)
사용자는 사진/동영상과 간단한 캡션을 담은 게시물(Post) 을 생성할 수 있어야 한다.
사용자는 다른 사용자를 팔로우할 수 있어야 한다.
사용자는 팔로우하는 사용자들의 게시물을 시간순으로 볼 수 있어야 한다.
Out of Scope
사용자는 좋아요/댓글을 남길 수 있어야 한다.
사용자는 사용자/해시태그/위치 검색을 할 수 있어야 한다.
사용자는 스토리(일시적 콘텐츠) 를 만들고 볼 수 있어야 한다.
사용자는 라이브(실시간 비디오 스트리밍) 를 할 수 있어야 한다.


