iOS 시스템 디자인
온라인 상태 표시
연락처 목록에 각 사용자의 '온라인/오프라인/마지막 접속' 표시를 넣으려 합니다. 앱이 강제 종료되거나 연결이 끊겨 오프라인을 스스로 알리지 못하는 경우까지 감안해, 클라이언트가 자기 상태를 서버에 어떻게 보고하게 설계하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
연락처 목록에 각 사용자의 '온라인/오프라인/마지막 접속' 표시를 넣으려 합니다. 앱이 강제 종료되거나 연결이 끊겨 오프라인을 스스로 알리지 못하는 경우까지 감안해, 클라이언트가 자기 상태를 서버에 어떻게 보고하게 설계하겠습니까?
내 상태는 포그라운드 진입/이탈 이벤트 + 소켓 하트비트로 서버에 보고하고, 서버가 타임아웃으로 오프라인을 판정한다. 타인 상태는 화면에 보이는 사용자만 구독하고 서버는 변화가 있을 때만 델타를 보낸다.
iOS 시스템 디자인주관식심화
수백 개 종목의 가격이 초당 수십 번 바뀌는 포트폴리오·관심종목 화면을 설계해 주세요. UI 갱신 빈도를 어떻게 제어할지를 중심으로 설명해 주세요.
#websocket #battery
iOS 시스템 디자인주관식딥다이브
WhatsApp 같은 1:1 채팅의 iOS 클라이언트를 설계해 주세요. 메시지 순서와 중복, 오프라인 전송 큐를 중심으로 다뤄 주세요.
#websocket
iOS 시스템 디자인객관식기초
주식 앱의 관심 종목 화면(포그라운드에서 초당 수 회 가격 갱신)과, 앱이 꺼져 있을 때의 '목표가 도달' 알림을 각각 구현합니다. 적절한 조합을 모두 고르세요.
#websocket
iOS 시스템 디자인주관식입문
여행 예약 앱에서 목록 → 상세 → 예약 화면으로 이어집니다. 각 화면의 데이터를 '화면이 표시될 때' 받을지 '이전 화면에서 미리' 받을지 어떤 기준으로…
#battery