Daily iOS
iOS 시스템 디자인

대규모 사진 피드 페이지네이션

수억 사용자가 보는 사진 피드에서 iOS 앱이 무한 스크롤을 구현합니다. 서버 정렬이 바뀌어도 중복과 누락을 줄이는 페이지 키를 어떻게 설계하겠습니까?

면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
짧은 답 보기

페이지 키는 offset이 아니라 서버가 랭킹 스냅샷 id와 마지막 항목의 정렬 값을 함께 인코딩한 opaque cursor로 두고, 클라이언트는 그것을 피드 종류별로 보관하며 응답에 실린 사진 id로 병합 시 중복을 걸러 정렬이 바뀐 사이에도 이어 붙일 수 있게 한다.

받은 질문 공유