본문 바로가기
개발/Android

[Android] 기술 면접 질문 준비

by blacktree 2023. 2. 15.
반응형

안드로이드(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 파일에 설정할 수 있습니다.

 

 

 

 

[Android] 기술 면접 질문 50개 모음

안드로이드 면접에서 물어볼 수 있는 다양한 질문이 있겠지만, 대표적인 질문 50가지를 아래와 같이 정리해봤습니다. 안드로이드 애플리케이션 아키텍처에 대해 설명해보세요. 안드로이드 Activi

blacktrees.tistory.com

 

[iOS] 기술 면접 질문 37개 모음

안녕하세요 iOS 면접 질문에 대한 자세한 블로그 포스팅을 작성해드리겠습니다. iOS 개발자 면접에서는 Objective-C 및 Swift 언어, CocoaTouch 프레임워크, iOS 개발 관련 도구, 아키텍처 및 디자인 패턴,

blacktrees.tistory.com

 

728x90
반응형

댓글