Daily iOS
iOS 시스템 디자인

기능 스켈레톤 설계(DI·오프라인·실험)

"북마크 저장" 기능 하나를 Swift 코드 골격으로 설계해 보세요. 화이트보드 대신 타입·프로토콜 시그니처 수준으로, 의존성을 어떻게 주입해 테스트 가능하게 만들지를 중심으로 보여 주세요.

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

BookmarkRepository 프로토콜 뒤에 로컬 스토어와 원격 API를 두고, 의존성은 이니셜라이저 주입으로 넘겨 테스트에서는 InMemoryBookmarkStore·FakeBookmarkAPI를 끼운다. 실험은 ExperimentClient 프로토콜에서 variant를 읽어 뷰 팩토리가 분기하며, 노출 로깅을 같은 지점에서 남긴다.

받은 질문 공유