Daily iOS
iOS 시스템 디자인

뉴스 피드 상태 모델

게임 뉴스 피드에서 새로고침, 페이지네이션, 북마크가 동시에 일어납니다. 화면이 서로 다른 응답을 덮어쓰지 않도록 어떤 단일 상태와 이벤트 흐름을 정의하겠습니까?

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

items, nextCursor, 진행 중인 작업 종류, error, 북마크 id 집합을 한 FeedState 값에 모으고, 모든 변경은 .refreshFinished, .pageAppended, .bookmarkToggled 같은 이벤트를 받는 reducer 한 함수만 하게 해서 세 흐름이 서로의 필드를 덮어쓰지 못하게 한다.

받은 질문 공유