📍 안드로이드 개발자 면접을 대비해
내가 이해한 개념들을 면접에서 설명할 수 있는 답변 형태로 정리하기 위한 공간입니다.
Kotlin
- DSL이란 무엇인가요?
- 함수형 프로그래밍에 대해 설명해주세요
- 코틀린 람다함수와 고차함수의 차이점은 무엇인가요?
- Kotlin Collection 중 Mutable, Immutable Collection에 대해 설명해 주세요
- 안드로이드 개발할 때 왜 코틀린을 사용하나요 ?
- 코틀린 enum class와 sealed class의 차이점을 예시를 들어 설명해주세요
- sealed class vs sealed interface 차이 및 활용 예시에 대해서 설명해주세요.
- Kotlin 스코프 함수(apply, let, run 등) 사용처와 차이에 대해서 설명해주세요.
- Kotlin Generic에 대해 설명해주세요
- lateinit var 과 by lazy의 차이에 대해 설명해 주세요
- Cold Stream과 Hot Stream의 차이에 대해 설명해주세요
- 스트림이란 무엇인가요 ?
- 파이프라인이란 무엇인가요 ?
- MVP와 MVVM 패턴의 차이에 대해 설명해주세요
- value Class에 대해 설명해주세요
- val과 var의 차이점에 대해서 설명해주세요.
Android
- 비트맵이란 무엇인가요 ?
- intent란 무엇인가요?
- AAC ViewModel과 MVVM ViewModel의 차이점이 무엇인가요?
- ViewBinding과 DataBinding의 차이점은 무엇인가요?
- Jetpack이 무엇이며, 안드로이드 개발에서 어떻게 활용되나요?
- MVC와 MVVM의 차이에 대해 설명해주세요
- interceptor의 역할은 무엇인가요?
- Activity 생명주기(LifeCycle)에 대해 설명해주세요
- AndroidManifest 파일은 무엇인가요?
- 픽셀이란 무엇인가요 ?
- dp와 sp의 차이에 대해 설명해주세요
- apk와 aab의 차이에 대해 설명해주세요
- ANR이란 무엇인지, ANR이 발생하는 주요 원인은 무엇이며, 어떻게 예방할 수 있는지 설명해주세요.
- Room에 대해서 설명해주세요.
- Bundle의 사용 목적에 대해서 설명해주세요
- 안드로이드 시스템 서비스란 무엇인가요 ?
- ActivityManager란 무엇인가요?
- Retrofit에 대해 설명해주세요
- LiveData에 대해 설명해주세요
- Callback hell(콜백지옥)을 해결하기 위한 방법으로 무엇이 있을까요?
- RecyclerView에 대해서 설명해주세요
- 안드로이드 4대 컴포넌트에 대해 설명해주세요.