[Android] 기술 면접 질문 정리 (240418 update!)

안드로이드, 코틀린에 관한 AOS 개발자 면접 질문 모음입니다.
Apr 18, 2024
[Android] 기술 면접 질문 정리 (240418 update!)

Android, Kotlin 기술 면접 질문 모음

  • 안드로이드 액티비티 생명주기에 대해서 설명해주세요.

  • data class 장점 알려주세요. data class 안쓰고 그냥 class로 구현할 수 있지 않나요?

  • 범위 제어자 private 말고 다른 것 알고 있나요?

  • 안드로이드 4대 컴포넌트에 대해 설명해주세요.

  • val, var 차이점과 var이 코틀린에서 존재하는 이유가 뭔가요?

  • 코루틴이 무엇인가요?

  • MVVM이 뭘까요? MVVM의 ViewModel과 AAC의 ViewModel의 차이는 무엇이라고 생각하시나요?

  • 의존성 주입이 뭘까요? 의존성 주입이 SOLID의 어떤 원칙을 준수한걸까요?

AOS 신입 개발자가 알아야 할 Kotlin 기초 질문 (ChatGPT)

강조된 질문은 실제로 받았거나, 후기에서 받았다고 본 질문들

1. 코틀린이 무엇인가요?

2. 코틀린의 주요 특징은 무엇인가요?

3. 코틀린이 자바와 어떻게 관련되어 있나요?

4. 코틀린이 개발되는 목적은 무엇인가요?

5. 코틀린이 안드로이드 개발에 어떤 이점을 제공하나요?

6. 코틀린에서 변수를 선언하는 방법은 무엇인가요?

7. 코틀린에서 val과 var의 차이점은 무엇인가요?

8. 문자열 템플릿은 무엇이며 어떻게 사용하나요?

9. Nullable과 Non-nullable 변수의 차이점은 무엇인가요?

10. Nullable 변수를 안전하게 사용하기 위해 어떤 방법을 사용하나요?

11. 조건문을 작성하는 방법은 무엇인가요?

12. 반복문을 작성하는 방법은 무엇인가요?

13. 함수를 정의하는 방법은 무엇인가요?

14. 함수의 파라미터와 반환 값에 대한 설명은 무엇인가요?

15. 확장 함수(Extension Function)은 무엇이며 어떻게 사용하나요?

16. 클래스를 정의하는 방법은 무엇인가요?

17. 클래스의 생성자에 대해 설명해주세요.

18. 클래스의 멤버 변수를 선언하는 방법은 무엇인가요?

19. 클래스의 멤버 함수를 정의하는 방법은 무엇인가요?

20. 클래스의 상속과 다형성에 대해 설명해주세요.

21. 인터페이스와 추상 클래스의 차이점은 무엇인가요?

22. 인터페이스를 구현하는 방법은 무엇인가요?

23. Null 안전성을 보장하기 위한 방법은 무엇인가요?

24. 컬렉션(Collection)을 다루는 방법은 무엇인가요?

25. 리스트(List)와 세트(Set)의 차이점은 무엇인가요?

26. 맵(Map)을 사용하는 방법은 무엇인가요?

27. 스마트 캐스트(Smart Cast)에 대해 설명해주세요.

28. 연산자 오버로딩(Operator Overloading)에 대해 설명해주세요.

29. 데이터 클래스(Data Class)의 특징은 무엇인가요?

30. 불변성(Immutability)과 가변성(Mutability)에 대해 설명해주세요.

31. Enum 클래스의 사용 방법은 무엇인가요?

32. sealed class에 대해 설명해주세요.

33. 컬렉션 함수들 중 일반적으로 사용되는 것에 대해 나열해주세요.

34. 예외 처리(Exception Handling)를 하는 방법은 무엇인가요?

35. 제네릭(Generic)을 사용하는 방법은 무엇인가요?

36. 안전 호출 연산자(Safe Call Operator) ?.과 비교 연산자 ?:의 차이점은 무엇인가요?

37. lateinit과 lazy의 차이점은 무엇인가요?

38. Top-level 함수와 확장 함수의 차이점은 무엇인가요?

39. 컬렉션을 필터링하는 방법은 무엇인가요?

40. 컬렉션을 변형시키는 방법은 무엇인가요?

41. 컬렉션을 정렬하는 방법은 무엇인가요?

42. 데이터 클래스에서 복사(Copy)를 생성하는 방법은 무엇인가요?

43. 람다식(Lambda Expression)의 구조와 사용 방법은 무엇인가요?

44. 고차 함수(Higher-Order Function)에 대해 설명해주세요.

45. 코틀린에서 패키지를 사용하는 방법은 무엇인가요?

46. 익명 객체(Anonymous Object)에 대해 설명해주세요.

47. 객체 표현식(Object Expression)에 대해 설명해주세요.

48. 코루틴(Coroutine)에 대해 설명해주세요.

49. 동반 객체(Companion Object)에 대해 설명해주세요.

50. 확장 프로퍼티(Extension Property)는 무엇인가요?

Share article
RSSPowered by inblog