Daily iOS
iOS 시스템 디자인

BLE 명령 직렬화 핸들러

웨어러블 기기와 BLE로 통신하는 앱의 명령 핸들러를 설계해 주세요. 제약: 명령은 한 번에 하나만 보낼 수 있고, 이전 명령의 응답이 오거나 타임아웃이 나기 전에는 다음 명령이 기다려야 합니다. 여러 화면이 동시에 명령을 보내고, 응답은 CoreBluetooth 델리게이트 콜백으로 비동기로 도착합니다. 이 핸들러의 타입 구조를 설명하세요.

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

CommandExecutor actor가 FIFO 큐를 갖고 명령을 하나씩 꺼내 async 함수로 실행한다. 타임아웃 Task와 응답 중 먼저 온 쪽이 현재 명령을 끝내고 다음 명령으로 넘어가며, 취소·연결 끊김 시 대기 중 명령은 즉시 실패시킨다.

받은 질문 공유