1. Swift의 메모리 안전성(Memory Safety)에 대해 설명해주세요.

  2. iOS 앱에서 Core Bluetooth를 사용하여 BLE(Bluetooth Low Energy) 통신을 구현하는 방법은 무엇인가요?

    1. Central과 Peripheral의 역할과 상호작용 과정을 설명해주세요.
      • Central 역할
        • 주변 Peripheral장치를 검색하고, 연결을 요청
        • Peripheral 장치로부터 데이터를 읽거나 쓸 수 있음
        • 여러 Peripheral 장치와 동시에 통신할 수 있음
      • Peripheral 역할
        • 자신의 존재를 광고하여 Central 장치에 발견될 수 있음
        • Central 장치의 연결 요청에 응답하고, 데이터를 제공하거나 받음
        • 배터리로 구동되는 작은 장치에 주로 사용
      • 상호작용 과정
        • 광고와 검색
        • 연결
        • 서비스 특성 탐색
        • 데이터 읽기와 쓰기
        • 알림과 표시
        • 연결 해제
    2. CBCentralManager와 CBPeripheralManager의 주요 메서드와 델리게이트 메서드를 설명해주세요.
      • CBCentralManager

        Central 역할을 수행하는 장치를 관리하며, 주변 BLE Peripheral 디바이스를 검색, 연결 및 데이터 교환을 담당

        • 주요 메서드

          • init(delegate:queue:)

            CBCentralManager 인스턴스 초기화, 델리게이트와 이벤트 처리를 위한 큐 설정

          • scanForPeripherals(withServices:options:)

            특정 서비스를 제공하는 Peripheral 디바이스를 검색

          • stopScan()

            검색 중단

          • connect(_:options:)

            검색된 Perpheral 디바이스에 연결 시도

          • cancelPeripheralConnection(_:)

            연결된 Perpheral 디바이스에 연결 취소

        • 델리게이트 메서드(CBCentralManagerDelegate)

      • CBPeripheralManager

    3. BLE 통신에서 사용되는 서비스(Service)와 특성(Characteristic)의 개념과 구현 방법을 설명해주세요.
  3. Swift의 Copy-on-Write 메커니즘에 대해 설명해주세요.

  4. iOS 앱에서 Core NFC를 사용하여 NFC 태그와 상호작용하는 방법은 무엇인가요?

  5. Swift의 actor와 structured concurrency에 대해 설명해주세요.

  6. iOS 앱에서 Vision 프레임워크를 사용하여 이미지 분석 및 처리를 수행하는 방법은 무엇인가요?

  7. Swift의 property wrappers에 대해 설명해주세요.

  8. iOS 앱의 보안을 강화하기 위한 방법과 모범 사례에 대해 설명해주세요.

  9. Swift의 custom string interpolation에 대해 설명해주세요.

  10. Swift의 Distributed Actor에 대해 설명해주세요.

  11. Swift의 DSL(Domain-Specific Language) 설계 및 구현 방법에 대해 설명해주세요.

  12. Swift의 유연한 문법 기능(e.g., 오퍼레이터 오버로딩, 첨자 표기법)을 활용한 코드 설계 방법에 대해 설명해주세요.

  13. Swift의 리플렉션(Reflection)과 런타임 프로그래밍에 대해 자세히 설명해주세요.

  14. iOS 앱에서 Core ML을 사용하여 머신러닝 모델을 통합하는 방법은 무엇인가요?