iOS 시스템 디자인
대규모 사진 피드 페이지네이션
수억 사용자가 보는 사진 피드에서 iOS 앱이 무한 스크롤을 구현합니다. 서버 정렬이 바뀌어도 중복과 누락을 줄이는 페이지 키를 어떻게 설계하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
수억 사용자가 보는 사진 피드에서 iOS 앱이 무한 스크롤을 구현합니다. 서버 정렬이 바뀌어도 중복과 누락을 줄이는 페이지 키를 어떻게 설계하겠습니까?
페이지 키는 offset이 아니라 서버가 랭킹 스냅샷 id와 마지막 항목의 정렬 값을 함께 인코딩한 opaque cursor로 두고, 클라이언트는 그것을 피드 종류별로 보관하며 응답에 실린 사진 id로 병합 시 중복을 걸러 정렬이 바뀐 사이에도 이어 붙일 수 있게 한다.
iOS 시스템 디자인주관식심화
트위터 같은 무한 스크롤 피드 화면을 iOS 클라이언트 관점에서 설계해 주세요. 네트워크 응답이 화면에 그려지기까지 데이터가 어디를 거치고 화면은 무엇을…
#feed #pagination #cache
iOS 시스템 디자인주관식기초
모바일 피드의 페이지네이션을 offset 기반과 cursor(keyset) 기반 중 무엇으로 하겠습니까? 두 방식의 차이를 근거로 말해 주세요.
#pagination #cursor
iOS 시스템 디자인객관식기초
offset 기반 페이지네이션으로 피드를 불러오는 중, 사용자가 2페이지를 보는 사이 피드 맨 앞에 새 글 3개가 추가되었습니다. 3페이지를 요청하면 어떤 일이…
#pagination #cursor
iOS 시스템 디자인주관식딥다이브
커뮤니티 앱의 댓글 피드 페이지를 설계해 주세요. 제약: 댓글은 평탄하게(트리 아님) 표시, 좋아요·답글 수 등 상호작용 가중치로 전역 정렬, 첫 화면은 자동…
#pagination #cursor