전화면접


(CS/Java기본)

  1. Java에서 사용하는 Map 생각나는것 3가지, 어떤 상황에서 활용하면 좋은지(혹은 장단점)
  2. Java interface 를 사용하는 이유
  3. Annotation interface 를 써봤는가? 사용한 이유와 장단점 ( enum 과 비교 )
  4. Callable과 Runnable의 차이 > 갑의 리턴 유무
    1. 꼬리질문 Java 8 에서는 Callable을 어떻게 활용할까? > Future, ExecutorService, FutureTask

(CS/Kotlin기본)

  1. Data class 를 사용하는 이유
  2. Kotlin 의 장점은?
  3. inner클래스/data클래스/일반클래스 차이점

(Android 기본)

  1. Activity 라이프사이클

A -> B -> A

  1. RecyclerView의 장점

ViewHolder패턴, DiffUtil에 대한 설명

  1. onSaveInstanceState, onRestoreInstanceState 쓰는 이유
  2. Flavor를 알고있다면 짧게설명
  3. Fragment Backstack 이슈Fragment 백스택과 Activity 백스텍의 차이 > 힙에 있는 메모리들은 유지 되지만, 뷰 관련 스테이트는 다 날라감(다시 새로 그림) → 라이프사이클 이슈?
    1. 꼬리 질문
      1. 그럼 상위 스택에서 돌아왔을때 뷰 스테이트를 관리할수 있는방법(뷰 원상복귀)> 뷰모델 사용, 멤버변수로 뷰스테이트를 선언
      2. 위 질문을 답 했을 경우) 리사이클러 뷰의 경우에는? > LayoutManager의 onSaveInstanceState, onRestoreInstanceState 저장
      3. 위 질문을 답 했을 경우) 리사이클 뷰에 데이터가 들어가기전에 onRestoreInstanceState 해버리면 데이터가 없는 상태에서 해당 state 를 찾을수 없어 상태가 로드 되지 않는다 해당 경우 어떻게 처리할까 ? > StateRestorationPolicy.PREVENT_WHEN_EMPTY 선언

(Rx를 사용한 사람이라면)