# 공통 질문
**인성 질문**
- 간단하게 자기소개
→ 의도 : 어떤 사람인지 파악하기 위해
- YAPP활동을 통해서 얻고 싶은게 무엇인지?
→ 의도 : 지원서와 일치여부, 사람마다 스팩용, 앱 서비스하기, 개발역량 키우기 등 목적이 달라서 그 목적을 알려고
- 자신의 장점,단점은?
→ 의도 : 이 사람이 어떤 장점을 갖고 있는지, 그리고 단점은 어떻게 극복하는지 알기 위해
**협업 질문**
- 프로젝트를 진행하며 동료와 갈등을 겪은 적이 있나요. 있다면 어떻게 해결했나요?
- 프로젝트 진행 도중 동료와의 갈등 경험 / 없다면 어떻게 해결할 건지
**개발리드 질문(개발리드 후보에게만)**
- 협업한 프로젝트에서 느낀 협업에서의 회고와 필요점
- 깃 관리나 일정, 이슈 관리가 가능한지
# 기술 질문
- Swift
1. struct vs.class 차이를 설명해보세요.
1. 답변을 바탕으로 각각 어느 상황에 적용하는 게 좋을 것 같은지 설명해주세요.
2. Escaping Closure를 설명하고 Closure과 차이를 설명해보세요.
3. weak와 strong, unowned의 차이점
4. Generic을 사용하는 이유에 대해 예시를 들어 설명해주세요.
5. 상속과 확장의 차이를 설명해주세요.
- IOS
1. ARC 개념과 순환 참조의 개념에 대해 설명해주시고 순환 참조의 예시를 들어주세요.
1. 순환 참조가 발생했을 때의 해결 방법
2. 동기, 비동기의 차이
1. 동기 처리 방법 + 비동기 처리 시 동기화 이슈 해결 방법
3. View Life Cycle / App Life Cycle 이 무엇인지
4. UIView의 프로퍼티중 frame과 bounds의 차이점
5. 프로토콜을 사용하는 이유 (사용했을 때 얻는 이점)
💡 포트폴리오에 해당 기술이 있을 경우
- 아키텍처 관련 질문
- Clean Architecture에 대해 설명해주세요.
- MVVM 구조를 사용하고 본인이 느낀 장점
- TCA, Ribs
- RxSwift
1. 반응형 프로그래밍이 무엇인지 설명해주세요.
2. 해당 기술을 사용한 이유와 사용하며 본인이 느낀 장점
3. (포폴에 있는 코드를 말씀드리며) 코드에 (ex: rx.tap 을 했을 때 등..)가 있던데, 이후 로직을 설명해주세요.
1. 시간이 된다면, 해당 답변에서 나오는 키워드들에 대해 질문해도 좋을 것 같습니다.
- SwiftUI(Combine)
1. [SwiftUI] SwiftUI와 UIKit의 차이
2. [SwiftUI] SwiftUI에서 UIKit을 사용하려면?
→ UIViewRepresentable 사용
3. [SwiftUI] infinite scroll를 구현하기 위해, 어떤 view를 사용하는지? 그 이유는?
4. [SwiftUI] custom view(tabview, navigationView)나 viewModifier를 만들어 본 경험이 있는지?
5. [SwiftUI] ZStack과 overlay의 차이는?
6. [Combine] 네트워크 통신을 할때, 사용한 구조 및 방법
7. 해당 기술을 사용한 이유와 사용하면서 신경써서 개발한 것이 있는지?
<aside>
💡 **마무리 멘트 (20분쯤에 진행)**
매주 토요일에 세션을 진행할 예정이에요. 항상 참여하실 수 있으신가요?
- 다른 대외활동 / 사이드 프로젝트를 하고 계시나요?
- 취준생, 직장인인데 안 바쁜지?
- 취준생은 면접이나 인적성 등으로 바쁜데 프로젝트에 투자할 수 있는가?
- 직장인은 잦은 야근때문에 프로젝트에 투자할 시간이 되는지?
- 최종 발표는 4월 18일 화요일에 합불 상관없이 연락 드릴 예정이고, 첫 세션은 10월 28일에 오프라인으로 진행될 예정입니다. 참석 가능하신가요?
- 이외 궁금한 사항이 있으신가요? (시간 여유있을 때만)
</aside>