iOS 개발자라면 뭘 설명할 수 있어야 할까?

Danna 다나·2021년 12월 7일
2
post-thumbnail

지금까지 iOS 앱 개발을 꽤 많이 해 왔고 꾸준히 해왔지만, project-driven으로 학습을 하다 보니 이론적인 부분에서 질문이 들어왔을 때 내가 완벽히 이해하고 설명할 수 있는지에 대한 확신이 없었다. 그게 지금까지 나에게 항상 아픈 손가락이었고, 언젠가는 꼭 날 잡고 공부하고 싶은 부분이었다.

마침, iOS 기술 면접을 볼 일이 생겨 이 기회에 이론적인 개념을 정리해보려 한다.

iOS 개발 (기본편)

1. View Controller, View의 생명주기에 대해 설명하세요.

ViewController의 생명주기 공부에서 시작한 ViewController와 View에 대한 고찰

2. App의 생명주기에 대해 설명하세요.

3. scene delegate에 대해 설명하세요.

4. ARC(Automatic Reference Counting)에 대해 설명하세요.

5. Weak와 Strong, unowned에 대해 설명하세요.

6. Escaping Closure에 대해 설명하세요.

7. 타입 캐스팅을 할 때 사용하는 키워드인 as, as?, as! 이 셋의 차이를 설명하세요.

8. Swift에서 Class와 Struct의 차이를 설명하세요.

Swift) 구조체와 클래스

9. Frame 과 Bounds 의 차이를 설명하세요.

10. delegate 패턴에 대해 설명하세요.

11. Delegate vs Block vs Notification의 차이에 대해 설명하세요.

12. 스토리보드를 이용했을때의 장단점을 설명하세요.

13. Safearea에 대해서 설명하세요.

14. 코코아 프레임워크에 대해 설명하세요.

15. 옵셔널 바인딩에 대해 설명하세요.

16. lazy 키워드에 대해 설명하세요.

17. 실제 디바이스가 없을 경우 개발 환경에서 할 수 있는 것과 없는 것을 설명하세요.



iOS 개발 (심화편)

1. MVC, MVVM 등 디자인 패턴에 대해 설명하세요.

2. RxSwift에 대해 설명하세요.

3. Swift로 동기/비동기 처리하는 방법들에 대해 설명하세요.



CS 이론 질문

1. 동기 비동기에 대해 설명하세요.

2. 스레드에 대한 개념을 설명하세요.

3. 선언형, 절차형 프로그래밍에 대해 설명하세요.

4. call by value, call by reference의 차이에 대해 설명하세요.

5. 순수함수, 익명함수, 고차함수에 대해 설명하세요.

6. overloading, overriding에 대해 설명하세요.



👉🏻 질문을 수집하는 과정에서 참고한 곳들
https://ugly-developer.tistory.com/5
https://github.com/JeaSungLEE/iOSInterviewquestions
https://github.com/JaeYeopHan/Interview_Question_for_Beginner/tree/master/iOS

profile
요즘은 https://welcometodannas.tistory.com/에 더 많은 글을 씁니다.

0개의 댓글