CS 기초·알고리즘
무한 스크롤의 cursor 설계
핀 보드처럼 끝없이 내려가는 iOS 목록에서 같은 항목이 두 번 보이거나 다음 페이지가 빠지는 일을 막으려 합니다. offset 대신 cursor를 쓴다면 어떤 상태와 함께 저장하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
핀 보드처럼 끝없이 내려가는 iOS 목록에서 같은 항목이 두 번 보이거나 다음 페이지가 빠지는 일을 막으려 합니다. offset 대신 cursor를 쓴다면 어떤 상태와 함께 저장하겠습니까?
서버가 준 opaque cursor를 마지막으로 성공한 응답 기준으로 저장하되 hasMore 여부, 진행 중 요청, 어느 피드(정렬, 필터)의 것인지 식별하는 키를 한 묶음으로 같이 두어 같은 cursor로 두 번 요청하거나 다른 피드의 cursor를 재사용하지 않게 한다.
iOS 시스템 디자인주관식기초
모바일 피드의 페이지네이션을 offset 기반과 cursor(keyset) 기반 중 무엇으로 하겠습니까? 두 방식의 차이를 근거로 말해 주세요.
#pagination #cursor
iOS 시스템 디자인객관식기초
offset 기반 페이지네이션으로 피드를 불러오는 중, 사용자가 2페이지를 보는 사이 피드 맨 앞에 새 글 3개가 추가되었습니다. 3페이지를 요청하면 어떤 일이…
#pagination #cursor
iOS 시스템 디자인주관식딥다이브
커뮤니티 앱의 댓글 피드 페이지를 설계해 주세요. 제약: 댓글은 평탄하게(트리 아님) 표시, 좋아요·답글 수 등 상호작용 가중치로 전역 정렬, 첫 화면은 자동…
#pagination #cursor
iOS 시스템 디자인주관식심화
수억 사용자가 보는 사진 피드에서 iOS 앱이 무한 스크롤을 구현합니다. 서버 정렬이 바뀌어도 중복과 누락을 줄이는 페이지 키를 어떻게 설계하겠습니까?
#pagination #cursor