CS 기초·알고리즘
의존성 그래프와 위상 정렬
30개 모듈로 나뉜 앱에서 DI 컨테이너가 서비스들을 초기화하는데, 초기화 순서를 손으로 관리하다 "A 는 B 를 필요로 하고 B 는 A 를 필요로 한다"는 크래시가 났습니다. 의존성 그래프에서 안전한 초기화 순서를 구하는 알고리즘을 설명해 주세요.
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
30개 모듈로 나뉜 앱에서 DI 컨테이너가 서비스들을 초기화하는데, 초기화 순서를 손으로 관리하다 "A 는 B 를 필요로 하고 B 는 A 를 필요로 한다"는 크래시가 났습니다. 의존성 그래프에서 안전한 초기화 순서를 구하는 알고리즘을 설명해 주세요.
의존성은 방향 그래프(DAG)로 보고, 위상 정렬(Kahn 의 진입 차수 큐 또는 DFS 후위 순서 뒤집기)로 초기화 순서를 구한다. 같은 원리가 SPM 의 모듈 그래프이며, 허브 모듈 변경이 하류 전부를 재컴파일시킨다.
아키텍처객관식심화
SearchFeature 모듈이 검색 결과에서 CheckoutFeature의 결제 화면을 열어야 합니다. 두 Feature 사이에 순환 의존을 만들지 않으면서…
#dependency #modularization
아키텍처주관식딥다이브
수십 개 화면, 여러 팀이 개발하는 SwiftUI 앱을 처음부터 설계한다면 상태 관리·화면 이동·의존성 주입·모듈 경계를 어떻게 잡나요?
#modularization #di
CS 기초·알고리즘주관식기초
집 꾸미기 추천에서 방과 방의 연결 그래프를 따라 최소 이동 횟수를 구합니다. 모든 간선 비용이 같을 때 BFS가 최단 경로를 보장하는 이유를 설명해 주세요.
#graph
아키텍처주관식심화
단일 타깃으로 커진 앱을 모듈로 나누려 합니다. 어떤 기준으로 모듈 경계를 긋나요?
#modularization