동시성
DispatchGroup fan-out 오류 처리
콜백 기반으로 짜인 결제 앱에서 독립 API 세 개가 모두 끝난 뒤 결제 요약을 만들어야 합니다. DispatchGroup의 enter와 leave를 어디에 두어 짝을 맞추겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
콜백 기반으로 짜인 결제 앱에서 독립 API 세 개가 모두 끝난 뒤 결제 요약을 만들어야 합니다. DispatchGroup의 enter와 leave를 어디에 두어 짝을 맞추겠습니까?
각 요청 함수를 호출하기 직전에 enter()를 부르고, 그 요청의 completion 클로저 첫 줄에 defer { group.leave() }를 두어 성공, 실패, 취소 어느 경로로 끝나도 정확히 한 번 leave되게 한 뒤 notify(queue: .main)에서 요약을 만든다.
동시성주관식기초
화면 진입 시 프로필·피드·알림 API 3개를 병렬로 호출하고 모두 끝났을 때 한 번에 UI를 그려야 합니다. GCD로 구현한다면 어떻게 하겠습니까?
#dispatchgroup
동시성주관식기초
독립적인 작업 A, B, C가 있습니다. C는 반드시 A와 B가 모두 끝난 뒤 실행돼야 하고, A와 B의 순서는 상관없으며 서로 중첩하지 않습니다. 구현 방법을…
#dispatchgroup
동시성주관식기초
뱅킹 앱 홈에서 서로 독립적인 계좌, 카드, 알림 데이터를 동시에 가져와야 합니다. async let과 TaskGroup 중 무엇을 어떤 기준으로 고르겠습니까?
#fanout