꾸준히 안타치기
면접 대비 질문정리 / iOS 면접질문 준비 본문
01. Auto Layout 과 Safe Area 에 대하여 서술하시오.
오토레이아웃은 기기별 해상도에 대응하기위해 만들어진 화면을 그리는 방법입니다. safeArea는 핸드폰의 전체적인 UI를 통틀어서 컨텐츠가 제대로 보일수 있는 부분에만 뷰를 놓을수 있도록도와주는 기능
02. Lifecycle의 정의와 역할에 대하여 서술하시오.
앱의 생명주기는 앱의 실행종료 및 앱이 포그라운드, 백그라운드 상태에 있을때 시스템이 발생시키는 이벤트에 의해 앱의 상태가 전환되는 일련의 과정을 뜻한다.
03. TableView를 만들기 위한 구성 요소 및 방법론에 대하여 서술하시오.
스토리보드에서 테이블뷰를 만듭니다. 그리고 뷰컨트롤러에서 만든 테이블뷰를 등록해주고, 새로 셀을 생성합니다. 새로 생성한 커스텀셀을 뷰컨트롤러상에 등록해주면 테이블뷰 안에 셀을 사용할 수 있습니다.
04. protocal, extension, delegate 에 대하여 각각 서술하시오
protocol: 특정역할을 하기 위한 메소드, 프로퍼티를 정의한다. 하나의 타입으로 사용되기 때문에 타입 사용이 허용되는 모든곳에 프로토콜을 사용할 수 있다.
이를 채택하는 타입은 해당프로퍼티를 구현해주어야한다.
extention: 구조체, 클래스, 열거형, 프로토콜 타입에 새로운 기능을 추가할수 있다.
타입에 새로운 기능을 추가할 수는 있지만, 기존 새로운 기능을 재정의 할 수는 없다.
delegate: 대리자. 프로토콜이 메뉴얼을 제시해준다면 대리자인 델리게이트가 대신해주는 역할을 한다.
05. 동기와 비동기의 차이에 대하여 서술하시오
동기란 순차적으로 어떤일을 처리하고 그 다음일을 처리하는것이고, 비동기는 동시에 여러가지로 순차적이 아닌 병렬적으로 일이 진행되는 것을 말합니다.
06. ____는 내부 저장소라고도 불리며 Key-value의 형태로 값을 저장할 수 있으며, 초기 설정값이나 자동로그인 여부 등 간단한 값을 저장하기 위해 사용한다.
userDefault
07. Optional 과 Optional Binding에 대하여 서술하시오.
optional: 값이 있는지 없는지 알수 없는 상태 , 옵셔널은 추후에 값이 들어오는것에 따라서 유동적으로 데이터를 처리하고 싶을때 사용하며, nil의 가능성을 명시적으로 표현한다.
전달받은 값이 옵셔널이 아니라면 nil체크를 하지 않더라도 안심하고 사용할수 있다.
예외 상황을 최소화하는 안전한 코딩을 할 수 있다.
옵셔널 바인딩이란? nil체크를 하고 안전하게 값을 추출하는 방법이다. if let과 guard let방법 두가지가 있다.
08. API의 정의와 네트워크 통신 라이브러리에 대한 종류를 서술하시오.
API란? 한 프로그램에서 다른프로그램으로 데이터를 주고 받기 위한 방법이다. 프로그램들이 서로 상호작요하는 것을 도와주는 매개체로 볼 수 있다. API에게 요청하고 응답만 받을 수 있다.
애플자체에서 지원하는 urlSession과 , 라이브러리인 alamofire, moya등이 있다.
09. 서버로부터 받은 JSON 데이터를 파싱하는 라이브러리 종류 및 파싱 방법론에 대하여 서술하시오.
swiftJson : JSON Array의 element를 JSON형식의 subJSON으로 받아서 [key]를 이용해 value를 가져올 수 있습니다.
이외에 코더블을 사용해서 파싱할 수도 있습니다. Codable Json형식으로 서버와 어플리케이션이 통신한다면 코더블 프로토콜을 이용해 인코딩 디코딩 할 수 있다.
10. JWT에 대하여 서술하시오.
Json Web Token의 약자로 모바일이나 웹의 인증을 위해 사용하는 암호화된 토큰을 의미한다. JWT정보를 request에 담아 사용자의 정보열람, 수정등을 수행할 수 있게 한다.
11. HTTP에 대한 정의와 HTTP 메소드에 대하여 서술하시오.
HTTP란 인터넷에서 데이터를 주고받을 수 있는 프로토콜.
http 주요 메소드에는 get:리소스 조회, post:요청데이터처리, 등록, put:리소스를 대체, 해당 리소스가 없으면 생성, patch:리소스를 일부만변경, delete:리소스 삭제
'CS' 카테고리의 다른 글
Restful API (0) | 2022.12.15 |
---|---|
프로세스와 스레드 (0) | 2022.06.08 |
Message Queue (0) | 2022.04.15 |
CS 지식 링크 (0) | 2022.03.25 |
API와 라이브러리, SDK (0) | 2022.01.19 |