---
# System prepended metadata

title: ' iOS interview '
tags: ["\U0001F4BB 면접 질문"]

---

<h1><center> iOS interview </center></h1>

###### tags: `💻 면접 질문`
###### date: `2025-08-317:21:33.284Z`

> [iOS interview](https://github.com/JeaSungLEE/iOSInterviewquestions)

# 개요 

> 레벨 0 질문 리스트 정리하기 


## 김태현 질문 리스트 

**레벨 0**

1. iOS 앱이 백그라운드로 전환될 때 메모리 부족으로 종료되는 이유는 무엇인가요?

  - 백그라운드로 전환된 상태에서 앱이 종료되었다 다시 실행했을 때, 웹뷰 처리 등을 해본 경험
  - 왜 종료가 되는 것인가? 
  - 종료가 된다고 하면 어떤 규칙으로 종료가 되는 것인가? 
  - 종료에 대한 외부 영향의 사이드 이펙트를 최소화 하기위해선 어떻게 해야할까?
  
2. iOS에서의 메모리 구조와 관리 방식에 대해 자세히 설명해주세요.

- 프로퍼티에 타입은 값 타입인가? 참조 타입인가?
- final vs private vs public의 차이점
- class vs struct (참조 vs 값) -> Heap vs Stack
- 참조보다 값이 빠르다 -> Heap보다 Stack이 더 빠르다. Why? Stack이 더 빠른가?
**- 스택이 어떨 때 효율적인가? 어떨 때 클래스를 사용하나?**

3. REST API와 iOS에서의 네트워크 요청 및 응답 처리 방법에 대해 설명해주세요.

  - Alamofire왜 사용하셨나요? URLSession도 만들 수 있을텐데. 
  - Aloamofire의 편의기능: Logger / Interceptor / Router
  - 왜 SDK를 사용했는지 이유가 필요하다.
  - adapt 메소드 확인이 필요하다.

4. iOS에서 메모리 사이즈와 관련된 개념과 고려 사항에 대해 설명해주세요.
   - 메모리 사이즈와 관련된 개념?
   - 메모리: Rx - Combine의 Cancellable | Cell, HeaderView, FooterView
   - RAM 총량 (하드웨어 관점), 앱 프로세스 메모리 사용량 (footprint), 힙/스택 같은 메모리 구조의 크기, 객체가 차지하는 개별 메모리 크기
   - instrument의 leaks, allocation
   - 영상, 이미지 다운샘플링
   - leak으로 인한 문제점 -> 셀에서 메모리 해제가 안되어서 성능이 느려짐, 앱이 죽음

6. 싱글톤 패턴(Singleton Pattern)이란 무엇이며, 어떤 경우에 사용하나요?
- 싱글톤이 정확히 무엇인가?
    - 그럼 DIContainer 싱글톤 아닌가?
    
- 화면과 화면 사이에 데이터 이동을 어떻게 하냐?

8. 동시성(Concurrency)과 병렬성(Parallelism)의 차이점을 설명해주세요.

- 동시성과 병렬성 차이 명확하게 알지 못함

9. iOS의 샌드박스(Sandbox) 개념과 역할, 그리고 앱 간 데이터 공유 방법에 대해 설명해주세요.
- 모든 앱의 정보를 담는 개념: UserDefaults / InfoPlist / Resource / 
- WatchOS - Sandbox / Widget sandobox / 
- https://hackmd.io/4WYh5B6oSKOOw8cIda_crw
10. 메모리 관리 기법 중 iOS에서 사용되는 방식과 그 특징에 대해 설명해주세요.

- ARC
- Objective-C 기반에서는 ARC를 어떻게 작동할까?
- SideTable weak self -> 약한 참조가 발생했을 때
- https://velog.io/@kimscastle/iOS-unowned%EB%8A%94-%EC%99%9C-%EC%9E%88%EB%8A%94%EA%B1%B4%EC%A7%80%EB%A5%BC-%EB%AA%A8%EB%A5%B4%EA%B2%A0%EC%96%B4%EC%84%9C-%EC%A7%81%EC%A0%91-%EC%95%8C%EC%95%84%EB%B4%A4%EC%8A%B5%EB%8B%88%EB%8B%A4

11. 프로세스와 스레드의 차이점, 그리고 iOS에서의 프로세스와 스레드 관리 방법에 대해 설명해주세요.
- 런루프와 쓰레드의 관계를 설명해주세요. - 런루프는 뭐지?
- https://ios-development.tistory.com/515

## 김태윤 질문 리스트

**레벨 0**

꼬리 가능 질문

1. iOS의 샌드박스(Sandbox) 개념과 역할, 그리고 앱 간 데이터 공유 방법에 대해 설명해주세요.
- 위젯, 와치OS 등 샌드박스와 연결될만한 요소가 있을 것 같음.

2. 데이터베이스의 종류와 iOS에서 주로 사용되는 데이터베이스에 대해 설명해주세요
- 프로젝트에서 사용한 DB들 중 하나 물어보고 깊게 들어갈듯
- 이 DB의 특징, 쓰레드 안전성, 채택해야하는 객체 타입과 그 이유 등등...
- 1. Race condition 보장을 어떻게 하는가?
- 2. 마이그레이션? 리플랙션 > convenience init
- 왜 선정했는데? 무슨 기준으로? => NoSQL, SQLite / 안드와 기술 스택 맞추기 / 가볍다. / 마이그레이션이 간단하다.

3. iOS에서 이미지 파일 포맷(PNG, JPEG, HEIC, WebP 등)과 각 포맷의 특징에 대해 설명해주세요.
- 앱에서 이미지 에셋을 어떻게 넣는지? PNG VS **WebP** VS JPEG VS **HEIC** ??
	- PDF, SVG 쓰는 이유?
	- PNG 씀. JPEG를 쓰면 투명성을 보장못함. 압축기법 때문에
- 앱에서 아이콘 색상을 바꾼적은 없는지?
- Display P3, 색 보정 관련..?
https://hackmd.io/zO4GftwMRDGU9BDETaD-IQ
- template 타일 **.alwaysTemplate** -> 어떻게 작동하는건가?
- Kingfisher 다운샘플링을 어떻게 하는지? 
- UIKit은 다운샘플링을 안한다?
	- WWDC를 찾아본다.
	- 백터, 레스터가 무엇인가? 
		- 레스터: 점찍는거 - PNG
		- 백터: - SVG

- APP Icon 아이콘 색상
	- JPG 파일도 템플릿 컬러 값이 변경되는건가?

https://ios-development.tistory.com/1216
```
그럼이게 jpeg로 저장해도 적용이 가능해?
ChatGPT said:

좋은 질문이에요 👌

UIImage.RenderingMode.alwaysTemplate이 동작하는 핵심은 이미지의 알파(투명도) 채널이에요.

🔹 JPEG의 특성

JPEG 포맷은 **투명도(알파 채널)**를 지원하지 않음

따라서 JPEG 이미지는 전부 불투명한 직사각형 그림으로 저장됨

🔹 그럼 어떻게 되나?

JPEG를 alwaysTemplate으로 불러오면, 이미지의 모든 픽셀이 "불투명"하기 때문에

이미지 전체가 tintColor로 칠해진 단색 직사각형으로 나와버려요 ❌ 원하는 효과가 아님

즉, 색상을 없애고 모양만 남기는 "마스크 효과"를 내려면 알파 채널이 있는 포맷 (PNG, PDF 벡터, SF Symbol 등) 이어야 합니다.
```

개념 질문

2. 캐시의 지역성(Locality) 원리에 대해 설명해주세요.

지역성(Locality) 원리는 컴퓨터 과학에서 기억장치 내의 정보를 균일하게 접근하는 것이 아니라, 어느 한 순간에 특정 부분을 집중적으로 참조하는 경향

- 시간 지역성, 공간 지역성

## 개요

> 레벨 1 질문 리스트

