Daily iOS
iOS 시스템 디자인

앱 내 알림 센터

커머스 앱의 '알림' 탭(주문·프로모션·배송 알림 목록, 읽음/안읽음, 뱃지)을 설계해 주세요. 로컬 저장과 읽음 상태의 서버 동기화를 중심으로 설명해 주세요.

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

알림은 서버가 원본이고 클라이언트는 로컬 DB에 페이지 단위로 캐시한다. 읽음 처리는 로컬 즉시 반영 + 서버 배치 동기화(outbox). 푸시 도착 시 사일런트 푸시로 델타를 받고, 앱 실행·포그라운드 진입 시 since 커서로 갱신한다. 1000+ 항목은 커서 페이지네이션·DB 인덱스·diffable 부분 갱신·서버 집계 unread 카운트로 처리한다.

받은 질문 공유