iOS 시스템 디자인 면접 질문
피드·채팅·이미지 로더·오프라인 우선·대규모 앱 설계. 실제 iOS 면접에서 나온 51문항입니다.
- iOS 시스템 디자인주관식
요구사항 정리
모바일 시스템 디자인 면접에서 "인스타그램 피드를 설계하세요"라는 문제를 받았습니다. 설계를 시작하기 전 첫 5분 동안 면접관에게 무엇을 묻고 무엇을 정리하겠습니까?
#requirements #interview-process #scope #non-functional
- iOS 시스템 디자인객관식
캐시 계층
피드 화면 진입 시 데이터를 보여주는 순서로 가장 적절한 것은?
#cache #memory #disk #network
- iOS 시스템 디자인주관식
공통 기능 공유와 팀 협업
앱의 여러 화면(홈, 프로필, 설정)에서 같은 '알림 센터' 기능(안 읽은 수 배지, 목록, 읽음 처리)을 써야 합니다. 화면마다 다시 만들지 않으면서 어느 화면에서 읽음 처리해도 다른 화면의 배지가 함께 맞으려면 어떻게 설계하겠습니까?
#shared-component #notifications #team #merge-conflict
- iOS 시스템 디자인객관식
이미지 로딩 메모리
3열 그리드에 4000×3000 JPEG 썸네일 60장을 표시했더니 메모리가 수백 MB로 치솟습니다. 가장 효과적인 해결은?
#image #downsampling #memory #cache-key
- iOS 시스템 디자인주관식
데이터 로드 시점
여행 예약 앱에서 목록 → 상세 → 예약 화면으로 이어집니다. 각 화면의 데이터를 '화면이 표시될 때' 받을지 '이전 화면에서 미리' 받을지 어떤 기준으로 정하나요?
#prefetch #loading-strategy #battery #bandwidth
- iOS 시스템 디자인주관식
페이지네이션 전략
모바일 피드의 페이지네이션을 offset 기반과 cursor(keyset) 기반 중 무엇으로 하겠습니까? 두 방식의 차이를 근거로 말해 주세요.
#pagination #cursor #offset #keyset
- iOS 시스템 디자인객관식
페이지네이션
offset 기반 페이지네이션으로 피드를 불러오는 중, 사용자가 2페이지를 보는 사이 피드 맨 앞에 새 글 3개가 추가되었습니다. 3페이지를 요청하면 어떤 일이 생기나요?
#pagination #offset #cursor
- iOS 시스템 디자인주관식Apple커뮤니티 전언
노트 앱 설계
간단한 노트 앱을 설계해 주세요. 아키텍처, 저장 방식, 데이터 흐름을 중심으로 설명해 주세요.
#notes #offline-first #sync #conflict
- iOS 시스템 디자인객관식
실시간 업데이트 방식 선택
주식 앱의 관심 종목 화면(포그라운드에서 초당 수 회 가격 갱신)과, 앱이 꺼져 있을 때의 '목표가 도달' 알림을 각각 구현합니다. 적절한 조합을 모두 고르세요.
#realtime #websocket #sse #polling
- iOS 시스템 디자인주관식Google커뮤니티 전언
날씨 앱 설계
현재 위치와 즐겨찾기 도시의 날씨를 보여주는 앱을 설계해 주세요. 컴포넌트와 데이터 소스, 캐시·갱신 정책을 중심으로 설명해 주세요.
#weather #location #cache #widget
- iOS 시스템 디자인주관식Meta커뮤니티 전언
오프라인 우선 아키텍처
"오프라인 우선(offline-first)" 앱 아키텍처는 일반적인 '네트워크 먼저, 실패하면 캐시' 방식과 무엇이 다른가요?
#offline-first #sync #repository #single-source-of-truth
- iOS 시스템 디자인주관식Spotify커뮤니티 전언
검색 기능 설계
음악 앱의 검색 화면(입력 중 자동완성, 결과 목록, 최근 검색어)을 설계해 주세요. 타이핑할 때마다 요청이 나가지 않게 빈도를 어떻게 제어할지를 중심으로 설명해 주세요.
#search #debounce #cancellation #autocomplete
- iOS 시스템 디자인주관식Meta커뮤니티 전언
사진 공유 앱 저장 시스템
사진 공유 앱의 클라이언트 저장 시스템을 설계해 주세요. 원본·썸네일·메타데이터를 어디에 어떻게 저장할지를 중심으로 설명해 주세요.
#photos #storage #disk #thumbnail
- iOS 시스템 디자인객관식Booking.com
과설계 판단
"목록 화면과 상세 화면, 두 개뿐인 앱을 설계하세요"라는 시스템 디자인 라운드입니다. 다음 중 면접관이 과설계(over-engineering) 로 판단할 가능성이 높은 선택을 모두 고르세요.
#over-engineering #simplicity #architecture #two-screen
- iOS 시스템 디자인주관식SoundCloud
기능 청사진과 요구사항
iOS 오디오 북마크 기능을 코드 없이 화이트보드에서 설계합니다. 모호한 요구를 어떤 질문으로 먼저 확인하겠습니까?
#requirements #blueprint #state-machine #feature-design
- iOS 시스템 디자인주관식
뉴스 피드 설계
트위터 같은 무한 스크롤 피드 화면을 iOS 클라이언트 관점에서 설계해 주세요. 네트워크 응답이 화면에 그려지기까지 데이터가 어디를 거치고 화면은 무엇을 원본으로 읽는지를 중심으로 설명해 주세요.
#feed #pagination #cache #offline
- iOS 시스템 디자인주관식
이미지 로더·캐시 라이브러리
SDWebImage·Kingfisher 같은 이미지 로딩 라이브러리를 직접 설계한다면 컴포넌트와 캐시 계층을 어떻게 구성하겠습니까?
#image-cache #lru #disk-cache #downsampling
- iOS 시스템 디자인주관식TikTok
썸네일 그리드 → 상세 화면
첫 화면은 API로 받은 사진 썸네일 그리드이고, 탭하면 상세 화면(댓글·좋아요·공유, 좌우 스와이프로 다음 사진)이 열립니다. 클래스 구성과 데이터 흐름을 설계해 주세요.
#grid #detail #image-loading #prefetch
- iOS 시스템 디자인주관식
업로드 큐 설계
사용자가 사진 50장을 선택해 올리면 앱을 닫거나 네트워크가 끊겨도 결국 모두 업로드되어야 합니다. 업로드 큐를 어떻게 설계하겠습니까? 재시도, 재개, 순서, 진행률 표시, 중복 방지까지 다뤄 주세요.
#upload #background-urlsession #queue #retry
- iOS 시스템 디자인주관식Robinhood커뮤니티 전언
실시간 가격 화면
수백 개 종목의 가격이 초당 수십 번 바뀌는 포트폴리오·관심종목 화면을 설계해 주세요. UI 갱신 빈도를 어떻게 제어할지를 중심으로 설명해 주세요.
#realtime #websocket #throttle #diffable
- iOS 시스템 디자인주관식Meta커뮤니티 전언
온라인 상태 표시
연락처 목록에 각 사용자의 '온라인/오프라인/마지막 접속' 표시를 넣으려 합니다. 앱이 강제 종료되거나 연결이 끊겨 오프라인을 스스로 알리지 못하는 경우까지 감안해, 클라이언트가 자기 상태를 서버에 어떻게 보고하게 설계하겠습니까?
#presence #heartbeat #websocket #battery
- iOS 시스템 디자인주관식Meta커뮤니티 전언
스토리 기능 설계
인스타그램 스토리(24시간 후 사라지는 사진·짧은 영상, 좌우 탭으로 넘김, 본 스토리 표시)를 설계해 주세요. 탭했을 때 다음 스토리가 즉시 뜨게 하는 미디어 로딩을 중심으로 설명해 주세요.
#stories #media #preload #video
- iOS 시스템 디자인객관식
오프라인 동기화 충돌
오프라인 우선 할 일(Todo) 앱에서 두 기기가 오프라인 상태로 같은 항목을 편집한 뒤 동기화됩니다. 데이터 손실 없이 처리하기 위해 타당한 전략을 모두 고르세요.
#sync #conflict #lww #crdt
- iOS 시스템 디자인주관식Netflix커뮤니티 전언
성능·관측 설계
새 피드 기능을 출시합니다. 출시 후 "잘 동작한다"를 어떤 클라이언트 지표와 목표값으로 정의하겠습니까?
#observability #metrics #metrickit #hitch
- iOS 시스템 디자인주관식Meta
항공권 예약 플로우
백엔드는 이미 있다고 가정하고 항공권 예약 iOS 앱을 설계해 주세요. 검색 결과 → 항공편 선택 → 좌석·탑승객 입력 → 결제 → 확정까지 이어지는 흐름에서 화면 간 상태를 어떻게 관리할지를 중심으로 설명하세요.
#booking #state-machine #idempotency #hold-expiry
- iOS 시스템 디자인주관식Snap
이미지 그리드 탐색 화면
Snapchat Discover처럼 썸네일 타일이 가득한 탐색 화면을 설계해 주세요. 무한 스크롤로 계속 내려가고, 각 타일은 네트워크 이미지를 보여 줍니다. 이미지 디코딩과 메모리 상한을 어느 스레드에서 어떻게 처리할지를 중심으로 설명하세요.
#discover #infinite-scroll #image-loading #prefetch
- iOS 시스템 디자인주관식X (Twitter)
기능 스켈레톤 설계(DI·오프라인·실험)
"북마크 저장" 기능 하나를 Swift 코드 골격으로 설계해 보세요. 화이트보드 대신 타입·프로토콜 시그니처 수준으로, 의존성을 어떻게 주입해 테스트 가능하게 만들지를 중심으로 보여 주세요.
#dependency-injection #offline #ab-testing #feature-flag
- iOS 시스템 디자인주관식PayPal
거래내역 화면
송금 앱의 거래내역 화면 클라이언트를 설계해 주세요. 요구사항: 무한 스크롤 페이지네이션, 오프라인에서도 최근 내역 표시, 새 거래가 들어오면 실시간으로 맨 위에 반영, 그리고 저가 기기·불안정한 신호에서도 깜빡임과 중복 없이 잘 동작해야 합니다.
#transaction-history #pagination #offline #realtime
- iOS 시스템 디자인주관식CRED
금융 앱의 오프라인 친화 기능
신용카드 앱의 '이번 달 사용액·남은 한도' 카드를 설계해 주세요. 네트워크가 불안정해도 화면은 열려야 하고 데이터는 신선하게 느껴져야 합니다. 무엇을 캐시하고 로컬 데이터를 언제 신뢰할지를 중심으로 말해 주세요.
#offline #freshness #cache #conflict
- iOS 시스템 디자인주관식Microsoft
재부팅에도 살아남는 알람
"사용자가 폰을 껐다 켜도 계속 울리는" 기상 알람 앱을 iOS에서 설계해 주세요. 앱은 재부팅 후 자동 실행되지 않고 백그라운드 실행이 제한되는데, 이 제약 안에서 가장 견고한 설계를 제시하세요.
#alarm #local-notification #critical-alert #reboot
- iOS 시스템 디자인주관식Deliveroo
라이더용 배달 앱
배달 라이더용 앱을 설계해 주세요. 화면 목업(주문 목록, 주문 상세·수락, 픽업, 배달 완료)은 주어졌습니다. 주문 상태 머신과 그것을 서버와 어떻게 맞출지를 중심으로 전체 흐름을 설명하세요.
#delivery #rider #state-machine #location
- iOS 시스템 디자인주관식Flipkart
앱 내 알림 센터
커머스 앱의 '알림' 탭(주문·프로모션·배송 알림 목록, 읽음/안읽음, 뱃지)을 설계해 주세요. 로컬 저장과 읽음 상태의 서버 동기화를 중심으로 설명해 주세요.
#notification-center #unread #background-fetch #push-token
- iOS 시스템 디자인주관식Tencent
IM 메시지 신뢰성과 로컬 스키마
메신저 앱에서 메시지가 유실되지 않도록 클라이언트는 무엇을 보장해야 하나요? 전송·수신 양방향의 확인(ack)과 재전송, 순서, 중복 제거 관점에서 설명해 주세요.
#im #chat #reliability #ack
- iOS 시스템 디자인주관식Kuaishou
다운로드 매니저
앱 공용 다운로드 매니저를 설계해 주세요. 요구사항: 태스크를 직렬 또는 병렬로 실행할 수 있고 최대 동시 실행 수를 제한하며, 호출 모듈과 결합되지 않아야 합니다.
#download #concurrency-limit #resume #urlsession
- iOS 시스템 디자인주관식Robinhood
사진 라이브러리
수만 장의 사진을 그리드로 보여 주고 클라우드에 백업하는 사진 라이브러리 앱을 설계해 주세요. 그리드 스크롤 성능(썸네일 생성·캐시·메모리)을 중심으로 설명하세요.
#photos #grid #thumbnail #photokit
- iOS 시스템 디자인주관식쿠팡
디자인 시스템 컴포넌트 설계
디자인 시스템의 '토스트' 컴포넌트를 설계해 보세요. 여러 앱·팀이 쓰는 상황에서 호출자에게 노출할 공개 API(호출 방법·옵션)를 어떻게 정하겠습니까?
#design-system #component #api-design #theming
- iOS 시스템 디자인객관식센드버드커뮤니티 전언
클라이언트 SDK 설계
채팅·통화 기능을 제공하는 iOS 클라이언트 SDK를 다른 회사 앱들이 통합하기 쉽게 설계하려고 합니다. 통합 난이도를 낮추고 안정성을 높이는 설계 원칙으로 옳은 것을 모두 고르세요.
#sdk #api-design #integration #chat-sdk
- iOS 시스템 디자인주관식Roblox커뮤니티 전언
대규모 사진 피드 페이지네이션
수억 사용자가 보는 사진 피드에서 iOS 앱이 무한 스크롤을 구현합니다. 서버 정렬이 바뀌어도 중복과 누락을 줄이는 페이지 키를 어떻게 설계하겠습니까?
#feed #pagination #cursor #cache
- iOS 시스템 디자인주관식Electronic Arts커뮤니티 전언
알람 앱의 시스템 스케줄링
iPhone 알람 앱을 설계합니다. 지정 시각에 사용자에게 알림을 보장해야 할 때 앱 내부 Timer 대신 어떤 시스템 API를 쓰겠습니까?
#notifications #alarm #ios #scheduling
- iOS 시스템 디자인주관식Zynga커뮤니티 전언
실시간 뉴스피드 순서 보장
실시간 소셜 뉴스피드가 WebSocket 증분 이벤트와 REST 초기 목록을 함께 받습니다. 초기 동기화 중 이벤트가 유실되지 않게 하려면 두 채널을 어떤 순서로 붙이겠습니까?
#websocket #realtime #sequence #feed
- iOS 시스템 디자인주관식Niantic커뮤니티 전언
오프라인 채팅 Outbox
네트워크가 자주 끊기는 iOS 채팅 앱에서 사용자가 보낸 메시지를 잃지 않아야 합니다. 로컬 outbox의 상태 전이를 어떻게 설계하겠습니까?
#chat #offline #outbox #idempotency
- iOS 시스템 디자인주관식Riot Games커뮤니티 전언
뉴스 피드 상태 모델
게임 뉴스 피드에서 새로고침, 페이지네이션, 북마크가 동시에 일어납니다. 화면이 서로 다른 응답을 덮어쓰지 않도록 어떤 단일 상태와 이벤트 흐름을 정의하겠습니까?
#state-management #feed #stale-response #reducer
- iOS 시스템 디자인주관식Monzo커뮤니티 전언
모바일 기능 구현 청사진
은행 앱의 카드 동결 기능을 1시간 시스템 디자인에서 설명합니다. 화면, 도메인 유스케이스, API, 분석을 어떤 인터페이스로 분리하겠습니까?
#banking #use-case #optimistic-ui #rollback
- iOS 시스템 디자인주관식Hopper커뮤니티 전언
파일 관리자 동기화 모델
iOS 파일 관리자에서 목록, 오프라인 파일, 업로드 진행률을 보여 줍니다. 파일 메타데이터와 실제 바이트를 어떻게 분리해 저장하겠습니까?
#file-manager #sync #upload #metadata
- iOS 시스템 디자인주관식TikTok
1:1 채팅 앱 설계
WhatsApp 같은 1:1 채팅의 iOS 클라이언트를 설계해 주세요. 메시지 순서와 중복, 오프라인 전송 큐를 중심으로 다뤄 주세요.
#chat #websocket #message-ordering #offline-queue
- iOS 시스템 디자인주관식Apple커뮤니티 전언
대규모 앱 아키텍처
사용자 수천만, 개발자 60명이 함께 만드는 iOS 앱의 아키텍처를 설계해 주세요. 모듈 구조와 팀 간 경계를 중심으로 설명해 주세요.
#modularization #spm #feature-flags #observability
- iOS 시스템 디자인주관식
네이티브 vs 크로스플랫폼
스타트업 CTO로서 iOS·Android 앱을 새로 만듭니다. 네이티브, Flutter, React Native, Kotlin Multiplatform 중 무엇을 택할지 판단 기준을 세우고 당신의 결정을 말해 주세요.
#cross-platform #native #flutter #react-native
- iOS 시스템 디자인주관식Uber
화면 간 상태 일관성
인스타그램 상세 화면에서 더블탭 '좋아요'를 누르면 피드·프로필·검색 결과에 같은 게시물이 있어도 모두 즉시 반영되어야 합니다. 이 이벤트가 아키텍처 계층을 어떻게 흐르는지 설명해 주세요.
#consistency #optimistic-update #single-source-of-truth #like
- iOS 시스템 디자인주관식Whoop
BLE 명령 직렬화 핸들러
웨어러블 기기와 BLE로 통신하는 앱의 명령 핸들러를 설계해 주세요. 제약: 명령은 한 번에 하나만 보낼 수 있고, 이전 명령의 응답이 오거나 타임아웃이 나기 전에는 다음 명령이 기다려야 합니다. 여러 화면이 동시에 명령을 보내고, 응답은 CoreBluetooth 델리게이트 콜백으로 …
#ble #corebluetooth #serial-queue #timeout
- iOS 시스템 디자인주관식Audible
타임스탬프 동기 오디오북
오디오북 앱에 '강화 재생' 기능을 설계해 주세요. 지원하는 타이틀에서는 오디오가 재생되는 동안 정해진 타임스탬프마다 해당 이미지를 화면에 띄워야 합니다. 오디오 시계와 이미지 표시를 어떻게 동기화하겠습니까?
#avplayer #audio #timed-metadata #prefetch
- iOS 시스템 디자인주관식Xiaohongshu
댓글 피드 페이지
커뮤니티 앱의 댓글 피드 페이지를 설계해 주세요. 제약: 댓글은 평탄하게(트리 아님) 표시, 좋아요·답글 수 등 상호작용 가중치로 전역 정렬, 첫 화면은 자동 로드. 정렬 기준이 계속 변하는데 서버 자료구조와 페이지네이션을 어떻게 설계하겠습니까?
#comments #ranking #pagination #cursor