티스토리 뷰

답 방지를 위해서 하나의 글을 두개로 나누어 작성합니다. 

Part 1. 면접 질문(서면 + 구술)

Part 2. 서면 질문에 대한 답변

Part 3. 구술 질문에 대한 답변

 

(Raywenderlich - Swift Interview Questions and Answers 번역)

 

스위프트는 4년 밖에 되지 않았지만, 이미 iOS 개발에서 표준 언어가 되었다. 스위프트 5.0 버전으로의 진화는 이제 객체지향과 함수형 패러다임을 둘 다 아우르는 강력하고도 복잡한 언어가 되었다. 각 릴리즈는 더 많은 진화와 변화를 가져다 주었다.

 

하지만 우리가 스위프트를 얼마나 잘 알고 있는가? 우리는 스위프트 면접 질문들을 통해서 확인해보려고 한다.

 

지원자들의 면접을 위해서 이러한 질문들을 지원자들의 스위프트 지식을 테스트 하기 위해서 사용해 볼수 있겠다.

아니면 자신을 테스트 해보자. 만약 우리가 정답을 알지 못한다고 해도, 걱정하지 말자. 각 질문들에 대해 배울 수 있는 솔루션이 있으니까.

 

3 단계로 나누어진 질문을 보게 될 것입니다. 

 - 초보자 : 이번 글을 통해서 다뤄볼 내용입니다.

 - 중급자

 - 상급자

 

각 단게에서, 두 종류의 질문을 보게 될 것입니다.

 - 서면으로 작성된 질문

 - 구두 질문

 

Xcode 10.2 와 Swift 5 환경에서 모든 내용이 작성되었습니다.

 

Beginner Written Questions (초보자 서면 질문)

 

질문 #1

 

tutorial1.difficulty 와 tutorial2.difficulty 의 값은 무엇인가 ? 만약 Tutorial 구조체가 클래스라면 어떤 점이 다른가? 그 이유는 무엇인가?

 

 

질문 #2

 

view 1을 var 로 선언했고 view 2를 let 으로 선언했다. 차이가 무엇이고 마지막 라인을 컴파일 하면 어떻게 될까?

 

질문 #3

 

아래의 복잡한 코드는 알파벳의 순서에 따라 이름의 배열을 분배한다. 여러분이 할 수 있는 한 아래의 클로저 구문을 단순화하라.

 

질문 #4

 

아래의 코드로 두 개의 클래스를 생성하였다. Address & Person 이 그것이다.

그래서 Ray 와 Brian 을 나타내기 위해 두 Person 인스턴스를 생성하였다. 

 

이제, 거리를 가로질러 있는 새로운 빌딩으로 브라이언이 이사한다고 가정해봅시다.

여러분은 그의 기록을 다음과 같이 업데이트하길 원한다.

이것을 컴파일하면 에러 없이 작동하죠.

만약 여러분이 레이의 주소를 이제 체크하고 싶다면(아래처럼), 그 또한 새로운 빌딩으로 옮긴 것을 볼 수 있습니다.

여기서 무슨 일이 일어났던 걸까요? 어떻게 우리가 이 문제를 고칠 수 있을까요?

 

 

Beginner Verbal Questions(초보자를 위한 구두 질문)

 

질문 #1

옵셔널이란 무엇이며, 옵셔널로 어떤 문제를 해결할 수 있을까?

 

질문 #2

구조체와 클래스의 주요 차이점에 대해 요약하시오.

 

질문#3

제네릭은 무엇인가? 제네릭으로 어떤 문제를 해결할 수 있을까?

 

질문#4

일부의 경우에, 우리는 암시적으로 언래핑된 옵셔널을 사용하는 것을 피할 수 없다. 언제 그럴까? 왜 그럴까?

 

질문 #5

옵셔널을 언래핑하기 위한 다양한 방법은 무엇이 있는가? 안전성을 고려할 때, 이 방법들을 어떻게 순위매길 수 있을까?

 

ex. var x : String? = "Test"

힌트 : 7가지의 방법이 있다.

 

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함