Git, Github
- git을 사용하는 이유
- git-flow란?
- Git이나 Github로 프로젝트 협업을 해본 적이 있는지.
- Pull Request가 무엇이고 사용해본적 있는지
- Issus의 사용 경험 여부
- 커밋을 취소하고 싶은 경우 어떻게 하는지
- 커밋은 보통 어떤 단위로 하고 그렇게 하는 이유가 무엇인지
- 프로젝트에서 사용한 브랜치 전략과 이유
- clone과 fork의 차이점
Optional
- 옵셔널을 제공하는 이유
- optional을 switch문으로 나눌 때, .none이 있는데 이것과 nil의 차이점은?
- @IBOutlet 프로퍼티의 타입은 왜 암시적 옵셔널 변환으로 구현되어있는지 설명하시오.
객체지향
- SOLID에 대해 설명하시오.
- 다형성을 구현하는 방법을 설명하시오.
- 본인이 생각하는 객체지향 프로그래밍이란 무엇이고, 가장 신경써서 개발하는 부분은 무엇인지 설명하시오.
- Protocol Oriented Programming과 Object Oriented Programming의 차이점을 설명하시오.
Model Type, JSON
- JSON과 XML의 차이
- JSON 데이터를 처리하는 방식과 파서, 객체 변환 방식에 대해 설명하시오.
TableView
- cell의 개수가 정해진 상황에서 항상 tableView를 쓰는 것이 좋을지 아니면 다른 방법이 있을지 말씀해주세요
- tableView의 작동 원리