Android Manifest Notes
이 문서는 skydoves/manifest-android-interview 내용을 기반으로 안드로이드 핵심 CS 지식을 학습하고 정리한 프로젝트입니다.
학습 목차
1.1 Android Framework
Android 플랫폼의 기본 구조와 핵심 개념들을 다룹니다.
Q1. Android란? - Android 운영체제의 기본 개념과 아키텍처
Q2. Intent - 컴포넌트 간 통신을 위한 Intent 시스템
Q3. PendingIntent - 지연 실행을 위한 PendingIntent
Q4. Serializable & Parcelable - 객체 직렬화 방법들
Q5. Context - Android의 Context 개념과 올바른 사용법
Q6. Application Class - Application 클래스의 역할과 활용
Q7. AndroidManifest - 앱 구성 정보를 담는 매니페스트 파일
Q8. Activity Lifecycle - 액티비티 생명주기 관리
Q9. Fragment 생명주기 - 프래그먼트 생명주기와 관리
Q10. Service - 백그라운드 작업을 위한 Service 컴포넌트
Q11. BroadcastReceiver - 시스템 및 앱 이벤트 수신
Q12. ContentProvider - 앱 간 데이터 공유를 위한 ContentProvider
Q13. Configuration Change - 구성 변경 처리 전략
Q14. Memory Management - Android 메모리 관리 및 최적화
Q15. ANR - Application Not Responding 문제 이해와 해결
Q16. Deep Link - 딥링크를 통한 앱 진입점 구성
Q17. Task와 Back Stack - Task 및 백스택 관리
Q18. Bundle - 데이터 전달을 위한 Bundle 활용
Q19. Activity Fragment 데이터 전달 - 컴포넌트 간 데이터 전달 방법
Q20. ActivityManager - ActivityManager의 역할과 활용
Q21. SparseArray - 메모리 효율적인 데이터 구조
Q22. 런타임 권한 - 런타임 권한 요청 및 처리
Q23. Looper, Handler, HandlerThread - 스레드 간 통신 메커니즘
Q24. Exception Tracing - 예외 추적 및 디버깅 방법
Q25. Build Variants, Flavors - 빌드 변형 및 Flavor 관리
Q26. 접근성 - 접근성 구현 및 보장
Q27. File System - Android 파일 시스템과 저장소 관리
Q28. ART, Dalvik, Dex, Compiler - Android 런타임과 컴파일 시스템
Q29. APK & AAB - Android 패키징 포맷
Q30. R8 최적화 - R8 코드 축소 및 최적화
Q31. App 크기 줄이기 - 앱 크기 최적화 전략
Q32. Android의 프로세스 - Android 프로세스 관리
1.2 Android UI & Views
Android의 UI 시스템과 View 구성 요소를 다룹니다.
Q33. View Lifecycle - View의 생명주기
Q34. View & ViewGroup - View와 ViewGroup의 관계
Q35. ViewStub - 지연 로딩을 위한 ViewStub
Q36. Custom View - 커스텀 View 구현
1.3 Jetpack Library
Android Jetpack 라이브러리와 Architecture Components를 다룹니다.
Q54. Jetpack ViewModel - ViewModel을 통한 UI 상태 관리
Q56. Dagger 2 & Hilt - 의존성 주입 프레임워크
1.4 Business Logic
비즈니스 로직과 데이터 처리 패턴을 다룹니다.
Q66. 초기 데이터 로드 위치: LaunchedEffect vs. ViewModel.init() - 초기 데이터 로드 전략
2.1 Jetpack Compose
선언형 UI 프레임워크인 Jetpack Compose의 기초를 다룹니다.
2.2 Compose Runtime
Compose의 런타임 동작과 상태 관리를 다룹니다.
Q11. State - Compose의 상태 관리 시스템
Q12. State hoisting - 상태 끌어올리기 패턴
Q13. remember & rememberSaveable - 상태 저장 및 복원
Q14. rememberCoroutineScope - Compose에서 코루틴 사용하기
Q15. Side Effects - Compose의 부수효과 처리
Q20. Composable Lifecycle - Composable 함수의 생명주기
2.3 Compose UI
Compose UI 구성 요소와 레이아웃 시스템을 다룹니다.
Q26. Modifier - Compose에서 UI 요소 수정하기
Q29. Arrangement & Alignment - Compose 레이아웃 정렬
1.2 ETC
이 외로 추가적인 내용을 다룹니다.
E1. RecyclerView 렌더링 과정 - 효율적인 리스트 구현을 위한 RecyclerView
E2. Kotlin Flow - Kotlin의 비동기 데이터 스트림
E3. Kotlin Delegation - Kotlin의 위임 패턴