Etc.

안드로이드 기술 면접 정리

Sangyoon98 2023. 5. 8. 16:43

취업을 준비하면서 질문 받았던 기술 면접 리스트들을 정리해서 작성해본다.

면접이 끝나고 기억 나는 질문들을 메모장에 적었지만 다 기억하지 못한거같아 기억나는대로 추가할 계획이다.

 

기술면접

안드로이드 4대 컴포넌트

Activity - 화면을 관리하는 컴포넌트, 사용자 이벤트 처리를 담당

Service - 백그라운드에서 특정 기능을 수행하는 컴포넌트, 메인 스레드에서 작동하기 때문에 별도 스레드가 필요

Broadcast Receiver - 브로드캐스트 메시지를 처리하는 컴포넌트

Content Provider - 앱 간 데이터 공유를 위한 클래스 제공, URI

 

액티비티 생명주기

onCreate() - 액티비티 시작될 때, 레이아웃 구성

onStart() - 액티비티 보이기 직전, 브로드캐스트 실행

onResume() - 액티비티 활성 상태, 상호작용 기능 구성

onPause() - 액티비티 부분적 활성 상태, 부분적 보일 때 실행, 곧 사라짐

onStop() - 액티비티 완전히 사라질 때, 다른 액티비티 보여질 때 호출

onDestroy() - 액티비티 종료 직전, 화면회전(구성변경) 포함

 

액티비티, 프래그먼트 차이

Activity - UI 화면을 그리는 컨테이너, 독립적 존재 가능

Fragment - UI 화면을 모듈화 할 수 있고 부분적으로 그릴 수 있는 컨테이너, 재사용 가능, 독립적 존재 불가능

 

Coroutine, Thread 차이

Coroutine - 동시성 비동기 수행

Thread - 병렬성 비동기 수행

 

자바, 코틀린 차이

간결성, 생산성, 안정성(null safe)

 

aar / aab / apk

aar - Android Archive, 안드로이드 라이브러리 프로젝트의 바이너리 배포판, JAR과 달리 리소스 파일 포함

aab - Android App Bundle, apk 대비 경량화 된 앱 파일

apk - Android Application Package, 어플리케이션 파일 확장자, 파일 용량 큼

 

intent, intent Filter

intent - 특정 컴포넌트에 대한 실행 정보를 넣어 실행하며 원하는 데이터 전달 기능,

              명시적 인텐트- 실행할 액티비티 정확히 명시

              암시적 인텐트 - 어떤 컴포넌트를 시행할 것인지 의도만 전달

intent Filter - 앱에 인텐트가 전달되었을 때 Intent Filter에 조건에 맞는 인텐트만 통과시킴(필터링)

 

Serializable / Parceable

Serializable - 자바에서 제공하는 인터페이스, 객체를 직렬화하여 전달하기 위해 사용, 자바의 Reflection 사용

Parceable - 안드로이드에서 제공하는 인터페이스, 객체를 전달하기 위해 사용, 안드로이드에서 직접 처리, Serializable보다 빠르고 안정성 좋음

 

자바 코틀린 구현체

자바 - 인터페이스 내에 메서드의 구현 코드 작성 불가, 다중 상속 가능

코틀린 - 인터페이스 내에 구현 코드 작성 가능, 다중 상속 불가능

 

로컬 db 종류

SQLite, Room

 

context

안드로이드 시스템이 어플리케이션이나 컴포넌트등을 관리하기 위해 만든 것

 

그 외 질문들

지원동기

자기소개

스트레스 푸는 방법

좋은 개발자란

좋은 회사란

프로젝트 소개

깃 협업 방법

협업툴 사용한 것, 이슈관리 방법