전화면접
(CS/Java기본)
- Java에서 사용하는 Map 생각나는것 3가지, 어떤 상황에서 활용하면 좋은지(혹은 장단점)
- Java interface 를 사용하는 이유
- Annotation interface 를 써봤는가? 사용한 이유와 장단점 ( enum 과 비교 )
- Callable과 Runnable의 차이 > 갑의 리턴 유무
- 꼬리질문 Java 8 에서는 Callable을 어떻게 활용할까? > Future, ExecutorService, FutureTask
(CS/Kotlin기본)
- Data class 를 사용하는 이유
- Kotlin 의 장점은?
- inner클래스/data클래스/일반클래스 차이점
(Android 기본)
- Activity 라이프사이클
A -> B -> A
- RecyclerView의 장점
ViewHolder패턴, DiffUtil에 대한 설명
- onSaveInstanceState, onRestoreInstanceState 쓰는 이유
- Flavor를 알고있다면 짧게설명
- Fragment Backstack 이슈Fragment 백스택과 Activity 백스텍의 차이 > 힙에 있는 메모리들은 유지 되지만, 뷰 관련 스테이트는 다 날라감(다시 새로 그림) → 라이프사이클 이슈?
- 꼬리 질문
- 그럼 상위 스택에서 돌아왔을때 뷰 스테이트를 관리할수 있는방법(뷰 원상복귀)> 뷰모델 사용, 멤버변수로 뷰스테이트를 선언
- 위 질문을 답 했을 경우) 리사이클러 뷰의 경우에는? > LayoutManager의 onSaveInstanceState, onRestoreInstanceState 저장
- 위 질문을 답 했을 경우) 리사이클 뷰에 데이터가 들어가기전에 onRestoreInstanceState 해버리면 데이터가 없는 상태에서 해당 state 를 찾을수 없어 상태가 로드 되지 않는다 해당 경우 어떻게 처리할까 ? > StateRestorationPolicy.PREVENT_WHEN_EMPTY 선언
(Rx를 사용한 사람이라면)