- Swift:
- 질문 : @escaping 클로저가 무엇이며, 언제 사용하나요?
- 나의 답변 : swift에서 클로저는 기본적으로 non-escaping이라 함수의 스코프 내에서 실행이 끝나야 하는데 클로저가 함수의 실행이 끝난 이후에도 실행될 수 있는 경우에 @escaping을 사용합니다
- iOS:
- 질문 : retain cycle이 무엇인가요?
- 나의 답변 : 두 객체가 서로를 강하게 참조하고 있어서 ARC)가 객체들을 메모리에서 해제하지 못하는 상태
- iOS: NotificationCenter는 언제, 왜 사용하나요?
- 질문 : 앱 내부에서 비동기적으로 이벤트를 전달 할 때 사용합니다 한 객체에서 발생한 이벤트를 여러 객체들에게 알릴 수 있는 방식입니다 화면 간 의존성을 줄이기 위해 delegate나 closure 대신 사용되기도 합니다
8/8 금요일 모의 면접
- retain cycle이 무엇인가요?
- 두 개의 객체가 서로 강한 참조를 하고 있어서 ARC가 메모리에서 해제하지 못하는 상태 입니다
- ReactorKit은 무엇인가요?
- RxSwift 기반의 단방향 데이터 흐름을 따르는 아키텍처 프레임워크 입니다
- sync/async의 차이는 무엇인가요?
- Sync는 순차적으로 한 작업이 완료돼야 다음 작업으로 넘어가고 Async는 호출한 함수가 바로 반환됩니다
- async/await에 대해 설명해주세요!
- Async/Await은 비동기 코드를 동기 코드처럼 작성할 수 있게 하는 것 입니다
- Behavior Relay와 Publish Relay의 차이점에 대해서 설명해주세요!
- BehaviroRelay는 생성했을 때 초기값을 넣어야 하고 PublishRelay는 초기값이 필요없고 빈 상태로 시작합니다