동시성
여러 비동기 작업 조합
화면 진입 시 프로필·피드·알림 API 3개를 병렬로 호출하고 모두 끝났을 때 한 번에 UI를 그려야 합니다. GCD로 구현한다면 어떻게 하겠습니까?
면접관은 이 답을 어떻게 들을까요? 넘어갈지, 더 물어볼지, 떨어뜨릴지 알려 주고, 걸리는 문장은 콕 집어 줘요. 점수는 그대로예요.
화면 진입 시 프로필·피드·알림 API 3개를 병렬로 호출하고 모두 끝났을 때 한 번에 UI를 그려야 합니다. GCD로 구현한다면 어떻게 하겠습니까?
DispatchGroup을 만들어 요청마다 enter, 응답이 오면 leave하고 notify(queue: .main)에서 셋을 합쳐 그린다. wait()로 블로킹하지 않고, 결과는 serial 큐나 락으로 보호된 자리에 모은다.
동시성객관식심화
구조화된 동시성(async let, TaskGroup)에 대한 설명으로 맞는 것을 모두 고르세요.
#async-let #taskgroup
동시성주관식기초
독립적인 작업 A, B, C가 있습니다. C는 반드시 A와 B가 모두 끝난 뒤 실행돼야 하고, A와 B의 순서는 상관없으며 서로 중첩하지 않습니다. 구현 방법을…
#dispatchgroup #async-let
동시성주관식기초
뱅킹 앱 홈에서 서로 독립적인 계좌, 카드, 알림 데이터를 동시에 가져와야 합니다. async let과 TaskGroup 중 무엇을 어떤 기준으로 고르겠습니까?
#async-let #taskgroup
동시성객관식기초
DispatchSemaphore와 뮤텍스(NSLock, Mutex)에 대한 설명으로 맞는 것을 모두 고르세요.
#semaphore