본문 바로가기

면접질문정리

(14)
[Swift] Protocol Oriented Programming Protocol oriented Programming 스위프트의 핵심 패러다임 중 하나 예전에 옵젝씨에서 단지기능의 청사진 역할 주로 Delegate, DataSource 현재 protocol extension이 가능해졌다. 특정타입이 할일을 명시해주는 동시에 역할을 해주는 것까지 가능해짐 // MARK: 프로토콜 기본구현 protocol LayoutDrawable { func drawsomeLayout() } class MyView: UIVuew, LayoutDrawable { } extension LayoutDrawable { func drawsomeLayout() { //... } } 이게무슨장점이있는지 ?? 저 기본구현을 어떤 클래스나 구조체 열거형이라도 프로토콜을 명시해주면 프로토콜에 있던 기능..
class의 성능을 향상 시킬수 있는 방법들을 나열해보시오. - Reference https://corykim0829.github.io/swift/Understanding-Swift-Performance/# [Swift] 스위프트 성능 이해하기 (1) - struct와 class의 성능 차이 struct와 class의 성능에 대해 자세히 알아보자 corykim0829.github.io # ARM 앎을 기억하자. - Allocation - 인스턴스생성 위치 , Stack or Heap - Reference Counting - 인스턴스를 통해 레카 발생 수 - Method Dispatch - 인스턴스로 메서드를 호출했을때 메소드 디스패치가 정적인지 동적인지 위 세가지를 중점으로 파악해보자 1. Heap allocation 피하기 2. Reference Counting..
COW(Copy On Write)는 어떤 방식으로 동작하는지 설명하시오. - Reference https://levelup.gitconnected.com/copy-on-write-in-swift-1faf488e2072 Copy-on-Write In Swift Swift value types are backed by reference types levelup.gitconnected.com COW(Copy On Write)란?? 데이터 복사시 실제로 값을 복사되지 않고, 동일한(원본의) 값을 참조하다가 데이터 변경이 발생될 시에 복사해 값을 변경하는 기법이며 데이터를 효율적으로 관리해주는 기능이다. # 왜 스위프트는 언어를 설계할때 다른언어와 달리 컬렉션을 value type으로 설계했을까 ??? 이유가 무엇일까 ?? => 이유는 추론하기가 쉬워서 이다. 코드 베이스의 다른 부분..
struct와 class와 enum의 차이를 설명하시오. 1. 가장 큰 차이점은 struct와 enum은 값 타입이고 class는 참조 타입입니다. 이것을 확인할 수있는 가장 직관적인 방법은 인스턴스를 할당해보면 된다. 상황 - A 인스턴스를 생성하고 값을 할당한다. 이를 B인스턴스에 할당을 한다. 참조타입 - A와 B의 인스턴스의 값이 동일하게 나온다. 값타입 - A와 B의 인스턴스의 값이 다르게 나온다. 다른 이유는 참조타입은 값의 주소를 저장하고 값타입은 값을 복사하여 저장하기 때문이다. 클래스는 A라는 인스턴스의 주소값을 B에 전달한거기 때문에 A,B 모두 값을 불러올때는 주소를 통해서 값을 불러온다. 그렇기 때문에 값이 같게 나오는 것이다. 구조체는 A라는 인스턴스의 값을 B라는 인스턴스에 복사하여 값을 전달 했기때문에 각각 다른 데이터를 가지게된다...