첫 이직 면접 질문들

면접 질문은 정말 회사마다 다양했다. 모든회사가 30%정도의 질문은 똑같이 물어봤던 것 같다. 경력 지원이어서, 직선적인 면접 질문들 보다는 이전에 했던 업무경험을 기반으로 구현, 개념, 직선적인 질문들과 연결된 생각들을 많이 물어봤었다. 면접이 끝나고 기록했던 질문들을 개인적으로 카테고리를 나눠 작성했다.

(면접의 순서와, 질문의 순서가 일치하지 않음. 기록했던 아카이브로 부터 찾는대로 복붙!)

직선적 질문 - 개발 개념 설명

  • Java8의 추가 기능 설명
  • mybatis의 $와 #의 차이
  • 제너릭스를 사용하는 이유
  • 스프링 DI
  • 이뮤터블 객체에 대해 아는것
  • 추상 클래스와 인터페이스의 차이
  • Java8에서 인터페이스에 default 추가되면서, 둘의 차이는 이제 어떻게 다른걸까
  • JVM 메모리 구조
  • 필터와 인터셉터 차이
  • int와 Integer 차이
  • SpringMVC 생명주기
  • RDB와 NoSQL차이
  • Docker와 VM의 차이
  • Reflection 개념 설명

경험 연관된 질문

  • nosql, elastic search,redis 사용경험
  • @Transactional을 어떤방식으로 사용했었는지 ( strategy 필요에 따라 변경해본 경험이 있는지 물어봄)
  • JPA를 사용하면 좋은점
    • JPA 사용시 DB상의 함수를 사용하지 못해 처리속도 면에서 손해볼 수 있는데, JPA를 사용해야 하나.?
  • 세션 처리를 어떻게 해보았는지
  • APM사용경험
  • 시스템 개선 경험 (ex. 스프링 4.x이상 쓰면 Spring boot 도입 생각은 안해봄.?)
  • @Async 사용 경험
  • 동시성이슈 처리 경험
  • 개발했던 서비스의 사용자가 몇명쯤.?
  • 장애사항 대처경험

개발 철학관련(?)

  • 함수형 언어 왜 쓸까요
  • 객체지향 언어가 좋은 방법이라고 생각하는 이유
  • 제임스 고슬링이 자바를 다시 개발한다면, 상속을 없앨것(?)이란 식으로 했던 인터뷰가 있는데, 그런 얘기를 왜 했을까

특정 상황 해결방안

  • tomcat 아웃오브 메모리 어떻게 해결할지
  • 이터레이터 사용시, 전통적 for문과 lambda 사용할 때 , 어떤측면으로 판단할 지

업무관련질문

  • 협업을 어떤방식으로 했었는지
  • 자발적으로 시스템 개선해본 경험이 있는지
  • TDD에 대해서 어떻게 생각 하는지
  • 피드백을 어떻게 주는게 좋을까
  • 동료와 의사결정할 때 문제해결 접근 방법, 협력해본 경험

인성질문

  • 이직사유, 퇴사사유, 현재회사 선택 사유
  • 개발자로 갖춰야할 덕목
  • 본인의 장점, 단점
  • 프로그래밍 학습 방법
  • 힘든경험, 성공경험
  • 본인의 비전, 5년뒤 모습
  • 지원한 회사에서 본인이 할 수 있는 일