반응형
안드로이드(Android)는 구글(Google)에서 개발하고 있는 스마트폰 및 태블릿용 운영체제이며, 전 세계에서 가장 많이 사용되고 있는 모바일 운영체제 중 하나입니다. 안드로이드 개발자로 취업하려는 분들은 안드로이드 면접을 준비하게 되는데, 이번 포스팅에서는 안드로이드 면접 질문에 대해서 자세하게 알아보도록 하겠습니다.
1. 안드로이드의 생명주기(Life Cycle)란 무엇인가요?
- 안드로이드 앱은 사용자의 액션에 따라서 수명주기를 가집니다.
- 안드로이드 앱의 수명주기는 다음과 같은 상태로 구성됩니다.
- 비활성화 상태
- 활성화 상태
- 일시정지 상태
- 중지 상태
- 종료 상태
2. 안드로이드에서 Activity와 Fragment의 차이점은 무엇인가요?
- Activity는 사용자 인터페이스(UI)를 가진 하나의 화면입니다.
- Fragment는 하나의 Activity 내에서 재사용 가능한 UI 조각입니다.
- 여러 개의 Fragment를 하나의 Activity에 추가하여 모바일 앱의 멀티탭, 뷰페이저 등을 구현할 수 있습니다.
3. 안드로이드에서 Intent란 무엇인가요?
- 안드로이드에서 Intent는 다른 컴포넌트(Activity, Service, Broadcast Receiver)로 작업 요청을 보내는 메시지 객체입니다.
- Intent는 작업을 수행하는 데 필요한 데이터와 대상 컴포넌트 정보를 포함합니다.
- 암시적(Intent.ACTION_VIEW) 또는 명시적(Intent(ComponentName))으로 사용할 수 있습니다.
4. 안드로이드에서 Service란 무엇인가요?
- 안드로이드에서 Service는 백그라운드에서 실행되는 앱 구성 요소입니다.
- Service는 사용자 인터페이스(UI)를 제공하지 않으며, 오랫동안 실행될 수 있습니다.
- 예를 들어, 음악을 재생하는 앱에서 노래를 재생하는 기능을 Service로 구현할 수 있습니다.
5. 안드로이드에서 BroadcastReceiver란 무엇인가요?
- 안드로이드에서 BroadcastReceiver는 앱에서 발생하는 이벤트를 수신하는 앱 구성 요소입니다.
- BroadcastReceiver는 등록된 이벤트가 발생할 때마다 실행됩니다.
- 예를 들어, 배터리가 부족해지면 BroadcastReceiver를 사용하여 알림을 받을 수 있습니다.
6. 안드로이드에서 AsyncTask란 무엇인가요?
- 안드로이드에서 AsyncTask는 비동기적인 작업을 수행하기 위한 클래스입니다.
- AsyncTask는 메인 스레드에서는 실행되지 않으며, 백그라운드 스레드에서 실행됩니다.
- AsyncTask는 doInBackground() 메서드에서 백그라운드 작업을 수행하고, 결과 값을 onPostExecute() 메서드에서 반환합니다.
7. 안드로이드에서 Retrofit이란 무엇인가요?
- 안드로이드에서 Retrofit은 RESTful API를 호출하는 라이브러리입니다.
- Retrofit은 OkHttp 라이브러리와 함께 사용되며, JSON 형식으로 데이터를 주고받을 수 있습니다.
- Retrofit은 인터페이스를 사용하여 API 호출을 정의하고, Retrofit 라이브러리가 자동으로 구현합니다.
8. 안드로이드에서 Room이란 무엇인가요?
- 안드로이드에서 Room은 SQLite 데이터베이스를 사용하기 쉽게 만든 라이브러리입니다.
- Room은 ORM(Object-Relational Mapping) 패턴을 사용하여 데이터베이스 작업을 추상화합니다.
- Room은 데이터베이스 쿼리를 컴파일하고, SQLite 데이터베이스에 대한 코드를 생성하여 작성을 용이하게 합니다.
9. 안드로이드에서 MVVM 패턴이란 무엇인가요?
- 안드로이드에서 MVVM(Model-View-ViewModel) 패턴은 사용자 인터페이스(UI)를 표현하는 뷰(View)와 데이터를 처리하는 모델(Model) 사이에 뷰 모델(ViewModel)을 두는 패턴입니다.
- ViewModel은 뷰와 모델 간의 의존성을 없애기 위해 사용됩니다.
- MVVM 패턴은 데이터와 UI를 분리하고, 테스트하기 쉬운 코드를 작성할 수 있습니다.
10. 안드로이드에서 ProGuard란 무엇인가요?
- 안드로이드에서 ProGuard는 코드 난독화, 최적화, 제거를 수행하는 도구입니다.
- ProGuard를 사용하면 앱의 크기를 줄이고, 보안을 강화할 수 있습니다.
- ProGuard는 안드로이드 스튜디오에서 쉽게 사용할 수 있으며, 프로젝트의 build.gradle 파일에 설정할 수 있습니다.
728x90
반응형
'개발 > Android' 카테고리의 다른 글
[Android] Service와 IntentService의 차이점 (0) | 2023.02.17 |
---|---|
[Android] 기술 면접 질문 50개 모음 (0) | 2023.02.15 |
[Android] 앱과 패키지 설치 여부 확인하기 (0) | 2023.02.13 |
Android Activity Lifecycle(생명 주기) (0) | 2023.02.10 |
Google Play Console 시작 - 계정 만들기부터 (0) | 2023.02.09 |
댓글