iOS 시스템 디자인
기능 스켈레톤 설계(DI·오프라인·실험)
"북마크 저장" 기능 하나를 Swift 코드 골격으로 설계해 보세요. 화이트보드 대신 타입·프로토콜 시그니처 수준으로, 의존성을 어떻게 주입해 테스트 가능하게 만들지를 중심으로 보여 주세요.
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
"북마크 저장" 기능 하나를 Swift 코드 골격으로 설계해 보세요. 화이트보드 대신 타입·프로토콜 시그니처 수준으로, 의존성을 어떻게 주입해 테스트 가능하게 만들지를 중심으로 보여 주세요.
BookmarkRepository 프로토콜 뒤에 로컬 스토어와 원격 API를 두고, 의존성은 이니셜라이저 주입으로 넘겨 테스트에서는 InMemoryBookmarkStore·FakeBookmarkAPI를 끼운다. 실험은 ExperimentClient 프로토콜에서 variant를 읽어 뷰 팩토리가 분기하며, 노출 로깅을 같은 지점에서 남긴다.
아키텍처주관식기초
iOS 앱에서 의존성 주입(DI)은 왜 하는 것인가요?
#dependency-injection #protocol
아키텍처주관식기초
의존성 주입(Dependency Injection)과 의존성 역전 원칙(Dependency Inversion Principle)은 이름이 비슷한데 무엇이…
#dependency-injection #protocol
테스트주관식심화
AuthManager.shared를 코드 곳곳에서 직접 부르는 앱이 있습니다. 이 싱글톤에 의존하는 코드를 단위 테스트하려면 어떻게 하겠습니까? …
#dependency-injection #protocol
iOS 시스템 디자인주관식심화
트위터 같은 무한 스크롤 피드 화면을 iOS 클라이언트 관점에서 설계해 주세요. 네트워크 응답이 화면에 그려지기까지 데이터가 어디를 거치고 화면은 무엇을…
#offline