Java 관련 ✔

  1. Java 언어의 장점
  2. Java 8에서 새로 추가된 기능, Java 11에서 새로 추가된 기능 (+ 둘의 차이점)
  3. Java 버전을 선택하는 기준

JVM, GC 관련

  1. JVM

    1. 정의 ✔
    2. 특징 ✔
    3. 구조 (특히 메모리 영역 구조) ✔
    4. Java의 실행 방식 ✔
    5. JVM 원자성이란? ✔
    6. JVM 모니터링 방법 ✔
  2. GC (정의, 하는 역할, 필요한 이유, Java 버전 별 동작 방식)

    1. 정의 ✔
    2. 하는 역할 ✔
    3. 필요한 이유 ✔
    4. Java 버전 별 동작 방식 (8과 11을 중점으로 자세하게) ✔
    5. gc 모니터링 방법 ✔
      1. JVM 응용 프로그램을 개발한 후에 운영하다 보면 out of memory가 나올 수 있는데, 이 에러 대처 방안 및 원인

JCF 관련 ✔

  1. JCF란?
    1. 정의
    2. 각 인터페이스별 특징 (List, Map, Set)
    3. 특히 b에서는 HashMap의 작동 원리나 Hash 충돌, ArrayList에서는 사이즈를 늘리는 시기 등을 디테일하게 물어볼 수 있음.

동시성 관련 ✔

  1. 가변 객체와 불변 객체의 차이점 ✔
  2. 불변 객체를 사용하는 이유 ✔
  3. 자바의 동시성 이슈(공유자원 접근)에 대해 설명하라 ✔
  4. 자바의 동시성 이슈를 어떻게 해결하는가? ✔
    1. Concurrent 컬렉션 원리를 잘 파악해 둘 것 (특히 compare and swap) ✔
      1. atomic ✔
      2. synchronizedList, synchronizedMap 등과의 차이점을 설명 ✔
    2. synchronized 예약어에 대해 잘 알아둘 것 ✔
      1. vector ✔
    3. volatile, 뮤텍스, 세마포어, 모니터 ✔
  5. java로 thread를 사용해 본 경험이 있는가? ✔
    1. thread pool ✔

기타