앱 라이프사이클·시스템 면접 질문
앱 상태·백그라운드·푸시·딥링크·Extension·권한. 실제 iOS 면접에서 나온 41문항입니다.
- 앱 라이프사이클·시스템주관식
앱 상태와 전이
사용자가 앱을 쓰다가 전화를 받고, 통화를 끊은 뒤 홈으로 나갔다가 30분 뒤 다시 들어왔습니다. 이 동안 앱은 어떤 상태들을 거치나요?
#app-state #lifecycle #background #suspended
- 앱 라이프사이클·시스템객관식
Inactive 상태
앱이 Inactive 상태가 되는 상황을 모두 고르세요.
#app-state #inactive #lifecycle
- 앱 라이프사이클·시스템주관식
AppDelegate의 역할
AppDelegate는 어떤 객체이고 어떤 이벤트를 다루나요?
#appdelegate #uiapplicationdelegate #launch #lifecycle
- 앱 라이프사이클·시스템객관식
앱 진입점과 UIApplicationMain
@main 이 붙은 AppDelegate(또는 UIApplicationMain 호출)가 앱 실행 시 하는 일을 모두 고르세요.
#main #uiapplicationmain #launch #runloop
- 앱 라이프사이클·시스템객관식
시뮬레이터의 한계
iOS 시뮬레이터에서 할 수 없거나 신뢰할 수 없는 것을 모두 고르세요.
#simulator #device-testing #xcode
- 앱 라이프사이클·시스템객관식삼성전자
홈 이동과 복귀 시 씬 콜백 순서
씬 기반(SceneDelegate) UIKit 앱에서 사용자가 홈으로 나간 뒤 30초 후 다시 앱으로 돌아왔습니다(앱은 종료되지 않음). 호출되는 콜백을 순서대로 올바르게 나열한 것은?
#app-state #scene-delegate #lifecycle-callbacks
- 앱 라이프사이클·시스템주관식Barclays커뮤니티 전언
ViewController 표시 생명주기
UIKit 화면에서 NotificationCenter observer처럼 화면이 보이는 동안에만 필요한 구독은 어느 생명주기 메서드 쌍에서 붙였다 떼겠습니까?
#uikit #view-lifecycle #viewdidload #observer
- 앱 라이프사이클·시스템주관식Photon Interactive커뮤니티 전언
Scene 기반 앱 생명주기
Scene 기반 iOS 앱에서 푸시 토큰 등록 같은 일과 화면 상태 저장 같은 일을 각각 AppDelegate와 SceneDelegate 중 어디에 두겠습니까?
#scene #app-lifecycle #appdelegate #swiftui
- 앱 라이프사이클·시스템주관식
SceneDelegate 도입 배경
iPad에서 같은 앱을 두 창으로 띄우는 기능 요청이 왔습니다. SceneDelegate는 왜 도입됐나요?
#scenedelegate #uiscene #multi-window #ipad
- 앱 라이프사이클·시스템객관식
씬 기반 앱의 콜백
iOS 13+ 씬 기반(SceneDelegate 사용) UIKit 앱이 백그라운드에서 포그라운드로 돌아올 때 호출되는 콜백은?
#scenedelegate #appdelegate #lifecycle #callback
- 앱 라이프사이클·시스템주관식
백그라운드 실행 제약
사용자가 저장 버튼을 누르고 바로 홈으로 나가면 서버 저장이 안 된다는 리포트가 있습니다. 이 문제를 어떻게 해결하겠습니까?
#background #beginbackgroundtask #suspended #background-modes
- 앱 라이프사이클·시스템주관식
앱 번들과 App Thinning
App Store에 표시된 다운로드 크기가 Xcode 아카이브 크기보다 훨씬 작습니다. App Thinning이 어떻게 크기를 줄이기에 그런가요?
#app-bundle #app-thinning #slicing #on-demand-resources
- 앱 라이프사이클·시스템주관식
푸시 알림 흐름
원격 푸시 한 건이 사용자 기기에 도착하기까지의 전체 흐름은 어떻게 되나요? 앱·APNs·서버 관점에서 설명해 주세요.
#push-notification #apns #device-token #fcm
- 앱 라이프사이클·시스템객관식
포그라운드 알림 표시
앱이 포그라운드에 있을 때도 로컬/원격 알림 배너를 화면에 보이게 하려면 어떻게 해야 하나요?
#local-notification #unusernotificationcenter #willpresent
- 앱 라이프사이클·시스템주관식
Deep Link와 Universal Link
마케팅팀이 문자로 상품 링크를 보내는데 앱이 설치된 사용자는 앱으로, 아닌 사용자는 웹으로 가게 해 달라고 합니다. 이 요구를 만족하려면 무엇을 어떻게 구성하겠습니까?
#deep-link #universal-link #url-scheme #associated-domains
- 앱 라이프사이클·시스템객관식
알림 권한 옵션
사용자에게 권한 팝업을 띄우지 않고, 알림을 '조용히' 알림 센터에만 쌓아 두었다가 사용자가 나중에 계속 받을지 결정하게 하려면 어떤 옵션을 요청해야 하나요?
#notification-permission #provisional #requestauthorization
- 앱 라이프사이클·시스템주관식
저전력 모드와 발열 상태 대응
사용자가 저전력 모드를 켜거나 기기가 뜨거워졌을 때 앱은 그 사실을 어떻게 알 수 있나요?
#low-power-mode #thermal-state #processinfo #battery
- 앱 라이프사이클·시스템객관식
UIBackgroundModes
무음 푸시(content-available: 1)로 앱을 백그라운드에서 깨워 데이터를 받게 하려면 Info.plist의 UIBackgroundModes에 무엇이 필요한가요?
#background-modes #remote-notification #info-plist #silent-push
- 앱 라이프사이클·시스템객관식삼성전자
Background→Suspended 전이
앱이 Background 상태에서 Suspended 상태로 넘어가는 순간에 대한 설명으로 옳은 것을 모두 고르세요.
#app-state #suspended #background-task #termination
- 앱 라이프사이클·시스템주관식Swiggy
알림 권한 안내 화면과 UNUserNotificationCenter 흐름
매니저 라운드 과제로 "시스템 팝업 전에 우리만의 알림 권한 안내 화면을 먼저 띄우는 기능" 을 만든 뒤 질문을 받았습니다. 권한 상태(notDetermined·denied·authorized·provisional)별로 앱은 무엇을 해야 하나요?
#push-notification #permission #unusernotificationcenter #delegate
- 앱 라이프사이클·시스템객관식PhonePe
APNs 디바이스 토큰 처리
원격 푸시 흐름에서 디바이스 토큰 처리에 대한 설명으로 옳은 것을 모두 고르세요.
#push-notification #apns #device-token #registerforremotenotifications
- 앱 라이프사이클·시스템주관식ByteDance
NotificationCenter 의 스레드와 옵저버 수명
NotificationCenter.default.post 를 백그라운드 스레드에서 호출하면 옵저버 코드는 어느 스레드에서 실행되나요?
#notificationcenter #objective-c #threading #observer
- 앱 라이프사이클·시스템주관식Alibaba Group
아이콘 탭부터 첫 화면까지의 실행 과정
홈 화면에서 앱 아이콘을 탭한 순간부터 첫 화면이 그려질 때까지 시스템과 앱 안에서 무슨 일이 순서대로 일어나나요?
#app-launch #dyld #objective-c #pre-main
- 앱 라이프사이클·시스템주관식Shopee
프로세스 상태와 iOS 앱 상태의 대응
OS 수업에서 배운 프로세스 상태(생성·준비·실행·대기·종료)는 iOS 앱 상태(Not Running·Inactive·Active·Background·Suspended)와 어떻게 대응되나요? 특히 Suspended 를 프로세스 관점에서 설명해 주세요.
#app-state #process #suspended #jetsam
- 앱 라이프사이클·시스템객관식Wipro커뮤니티 전언
APNs 우선순위와 헤더
서버팀이 "APNs 로 보내는 알림의 QoS(우선순위)를 어떻게 정해야 하느냐" 고 묻습니다. 옳은 설명을 모두 고르세요.
#push-notification #apns #priority #apns-push-type
- 앱 라이프사이클·시스템주관식Tencent
홈으로 나갔을 때의 시퀀스와 커버 뷰
사용자가 홈으로 나갔을 때(홈 버튼·스와이프) 시스템과 앱에서 어떤 일이 순서대로 일어나나요?
#app-state #snapshot #privacy #background
- 앱 라이프사이클·시스템주관식피에프씨테크놀로지스커뮤니티 전언
background 전환 시 민감 화면 보호
대출 앱이 background로 갈 때 앱 전환기 스냅샷에 계좌 정보가 남지 않아야 합니다. 가림 화면은 어느 lifecycle 콜백에서 올려야 합니까?
#lifecycle #privacy #background #authentication
- 앱 라이프사이클·시스템객관식
Universal Link 동작 조건
Universal Link에 대한 설명으로 옳은 것을 모두 고르세요.
#universal-link #aasa #associated-domains
- 앱 라이프사이클·시스템주관식
샌드박스와 앱 간 데이터 공유
메인 앱·위젯·Share Extension이 같은 로그인 세션과 캐시 DB를 써야 합니다. 같은 팀의 앱·익스텐션 사이에 데이터를 어떻게 공유하겠습니까?
#sandbox #app-group #keychain-sharing #extension
- 앱 라이프사이클·시스템주관식
WidgetKit 타임라인과 App Intents
홈 화면 위젯이 '실시간으로 안 바뀐다'는 불만을 받았습니다. WidgetKit은 갱신을 어떻게 다루나요?
#widgetkit #timeline #app-intents #shortcuts
- 앱 라이프사이클·시스템주관식
BGTaskScheduler
"매일 밤 사용자가 자는 동안 캐시를 비우고 새 콘텐츠를 미리 받아 두자"는 요구가 있습니다. 이런 주기 작업을 iOS에서 어떻게 등록하겠습니까?
#bgtaskscheduler #bgapprefreshtask #bgprocessingtask #background
- 앱 라이프사이클·시스템객관식
BGAppRefreshTask 특성
BGAppRefreshTask에 대한 설명으로 옳은 것을 모두 고르세요.
#bgtaskscheduler #bgapprefreshtask #background
- 앱 라이프사이클·시스템주관식
권한 요청 설계
카메라 권한 거부율이 60%라는 지표가 나왔습니다. 거부율을 낮추면서 심사 가이드라인을 지키려면 어떻게 설계하겠습니까?
#permissions #privacy #info-plist #att
- 앱 라이프사이클·시스템주관식
실행 옵션과 콜드 스타트 라우팅
앱이 꺼진 상태에서 푸시를 탭하면 해당 채팅방으로 가야 하는데, 가끔 홈 화면에서 멈추거나 로그인 화면 뒤에 채팅방이 뜨는 버그가 있습니다. 콜드 스타트에서 라우팅을 어떻게 설계해야 하나요?
#launch-options #connectionoptions #deep-link #push-tap
- 앱 라이프사이클·시스템주관식뱅크샐러드커뮤니티 전언
웹뷰 기반 앱의 네이티브 브리지와 딥링크
서비스 대부분이 WKWebView 로 구현된 앱에서 웹이 네이티브 기능(생체 인증·카메라)을 호출하는 브리지를 유지보수해야 합니다. 브리지는 어떤 API 로 만드나요?
#wkwebview #javascript-bridge #deep-link #wkscriptmessagehandler
- 앱 라이프사이클·시스템주관식드림어스컴퍼니커뮤니티 전언
멀티 디바이스 상태 복원
iPhone, iPad, CarPlay에서 같은 음악 재생 화면을 지원합니다. 앱이 종료됐다가 scene이 다시 연결될 때 재생 중이던 상태를 무엇을 기준으로 복원하겠습니까?
#state-restoration #carplay #scene #multidevice
- 앱 라이프사이클·시스템주관식
무음 푸시의 신뢰성
채팅 앱이 '새 메시지 무음 푸시(content-available)로 앱을 깨워 미리 동기화'하도록 설계돼 있는데, 실제로는 절반 이상 도착하지 않거나 늦게 온다는 데이터가 있습니다. 왜 그런가요?
#silent-push #content-available #background #apns
- 앱 라이프사이클·시스템주관식
종료와 상태 복원
사용자가 긴 글을 쓰다 다른 앱에 다녀오면 가끔 작성 중이던 내용이 사라진다는 불만이 있습니다. 왜 생기나요?
#termination #state-restoration #nsuseractivity #prewarming
- 앱 라이프사이클·시스템주관식
App Extension 제약
Share Extension으로 큰 사진을 받아 서버에 올리는 기능이 '가끔 조용히 종료'됩니다. App Extension은 메인 앱과 무엇이 다르기에 그런가요?
#app-extension #share-extension #memory-limit #process
- 앱 라이프사이클·시스템객관식
Notification Service Extension
Notification Service Extension(NSE)에 대한 설명으로 옳은 것을 모두 고르세요.
#notification-service-extension #mutable-content #push #e2ee
- 앱 라이프사이클·시스템주관식42dot커뮤니티 전언
백그라운드 BLE 와 차량 디지털 키
차량 디지털 키 앱을 만듭니다. 사용자가 폰을 주머니에 넣은 채(앱이 백그라운드 상태) 차에 다가가면 BLE 로 잠금을 해제해야 합니다. iOS 에서 백그라운드 상태의 BLE 통신을 위해 어떤 설정과 설계가 필요한가요?
#core-bluetooth #background-mode #state-restoration #uwb