Dev

13. 기술면접 전 보고가면 좋은 내용 공유 2

VIPeveloper 2021. 4. 19. 11:04
728x90
반응형

1. 자바를 쓰는 이유가 뭘까요

  • 자바를 구성하는 5가지 장점으로 인해 자바를 사용한다고 생각합니다.
    1. 자바는 객체지향형이고, 쉽고, 단순합니다. 다형성 및 캡슐화 등 객체지향적으로 구성되어있습니다.
    2. 자바는 분산환경에서 사용되도록 디자인되어 보안상 안전하게 설계되어있습니다.
    3. 자바는 javac를 이용해 OS에 영향받지 않는 중립적인 코드를 생성하기 때문에 아키텍쳐 관계없이 사용가능하므로, 호환성 문제가 발생하지 않습니다.
    4. JIT나 GC 등 자바 최적화를 위한 기법들이 존재합니다.
    5. 멀티스레드 환경을 지원하여 동시에 여러 작업이 진행가능하도록 지원해줍니다.

2. JIT가 뭘까요?

  • 어떤 메서드의 일부, 혹은 전체 코드를 네이티브 코드로 변환하여 JVM에서 번역하지 않도록 함으로서 보다 빠른 성능을 제공하는 기술입니다.
  • 변환작업은 인터프리터에서 지속적으로 수행되지만, 필요한 코드 정보는 캐시에 담아두었다(메모리에 올려두었다)가 재사용하게 됩니다.

3. CMS GC란?

  • STW를 최소화하기 위해 등장한 GC입니다.
    • STW(Stop The World) : GC가 발생하여 가비지를 수집하는 동안에 모든 애플리케이션의 스레드가 중단되는 현상입니다.
  • GC 대상을 최대한 자세하게 파악한 후 정리하는 시간을 최대한 짧게 가져가는 기법입니다.
  • 한 차례의 긴 STW 중단을 짧은 두차례 STW로 대체하는 기법입니다.

4. JVM이란?

  • 자바 가상머신
  • 자바 바이트코드를 OS에 특화된 코드로 변환해준다.
  • 특정 플랫폼에 종속적이다.

5. HashSet

  • 순서가 중요한것이 아니라, 해당 키값의 밸류가 존재하는지가 중요할 때 사용합니다.
  • 중복된 값이 들어올 수 없습니다.
  • 실제 코드를 보면 HashMap 으로 구현이 된 것을 알 수 있습니다.
728x90
반응형