본문 바로가기
개발/Android

[Android] 면접 질문 - 1

by blacktree 2022. 8. 17.
반응형

안드로이드 개발자 면접 때 나올만한 질문들을 정리해봤다. 

 

면접 질문

  1. Android 4대 컴포넌트 
    1. Activity
      1. 안드로이드에서 화면을 관리하고 사용자가 발생시키는 다양한 이벤트를 처리하는 컴포넌트
    2. Service
      1. 화면에 존재하지 않고 백그라운드에서 실행되는 컴포넌트
    3. Broadcast Receiver
      1. 특정 어플에서 발생하는 특정 브로드캐스트 메시지를 처리하는 컴포넌트
    4. Content Provider
      1. 앱 간 데이터 공유를 위한 클래스를 제공하는 컴포넌트
  2. Android Manifest
    1. 모든 앱 프로젝트에 반드시 있는 파일이며 애플리케이션의 정보들을 가지고 있다.
    2. 앱에 대한 필수적인 정보를 안드로이드 빌드 툴과 Android OS, 그리고 구글 플레이에 제공한다
  3. Activity, Fragment의 차이점
    1. Activity는 독립적으로 활용할 수 있다.
    2. Fragment는 Activity에 종속되어 있다.
    3. Activity는 전체 화면을 차지하고, Fragment는 전체 화면이 아닌 일부 화면으로 구성할 수도 있기 때문에 상대적으로 유연한 UI 디자인이 가능하다.
    4. Activity는 자동적으로 Stack에 넣어지고, Fragment는 Transaction을 통해서 요청해야 한다.
  4. Activity Life Cycle
    1. onCreate() : Activity 가 생성되면 가장 먼저 호출되는 callback 함수
    2. onStart() : Activity 가 사용자에게 보이기 직전에 호출되는 callback 함수
    3. onResume() :
      1. 사용자가 응용프로그램과 상호 작용을 할 수 있는 상태에 호출되는 함수
      2. 사용자가 응용프로그램을 사용할 수 있는 상태를 의미
    4. onPause() :
      1. Activity 가 중지된 상태로 사용자로부터 어떠한 입력도 받을 수 없고 어떤 코드도 실행할 수 없는 상태
      2. 다른 Activity 가 실행되어 Activity Stack의 최상단으로 올라가는 경우 호출
    5. onStop() : Activity 가 더 이상 보이지 않는 경우 호출
    6. onRestart() : Activity 가 onStop() 이 호출된 이후에 재시작되는 경우 호출되는 함수
    7. onDestroy() : 시스템이 Activity를 종료하기 직전에 호출되는 callback 함수
  5. Fragment Life Cycle
    1.  onAttach() : 이름처럼 액티비티에 프래그먼트가 attach 할 때 호출됩니다. 
    2. onCreate() :
      1. 프래그먼트를 생성할 때, 시스템에서 호출됩니다.
      2. Fragment View가 생성되지 않아서 Fragment의 View작업을 하기 적절하지 않습니다.
    3. onCreateView() : 프래그먼트에서 UI를 그릴 때 호출됩니다.
    4. onViewCreated() : onCreateView()를 통해 반환된 View는, onViewCreated()의 파라미터로 전달되는데, 이 시점부터 Fragment View의 라이프사이클이 INITIALIZED 된다.
    5.  onStart() : 이제 Fragment가 사용자에게 보일 수 있을 때 호출됩니다. Activity의 onStart()와 유사합니다.
    6.  onResume() :
      1. Fragment의 모든 애니메이션과 Transition 효과가 종료되고, 프래그먼트가 사용자와 상호작용이 가능할 때, onResume()이 호출됩니다.
      2. 이제 사용자와 프래그먼트가 상호작용할 준비가 되었다는 뜻인데, 반대로 말하면 onResume()이 실행되기 전에 사용자와 인터렉션 하는 것은 부적절합니다.
    7. onPause() : 시스템이 사용자가 프래그먼트를 떠나는 것을 감지하는 것입니다.
    8. onStop(), onSaveInstanceState() : 프래그먼트가 화면에 보이지 않을 때가 되면 onStop()이 호출됩니다. 
      1. API28 버전을 전후로
        1.  전 : onSaveInstanceState() -> onStop()
        2. 후 : onStop() -> onSaveInstanceState()
    9. onDestroyView() :
      1. Fragment가 화면으로 벗어나면 onDestroyView()가 실행됩니다.
      2. 해당 시점부터는 Fragment View에 대한 모든 참조가 제거돼야 합니다.
    10. onDestroy()
      1.  Fragment가 제거되면 호출됩니다. 
728x90
반응형

댓글