Skip to content
This repository was archived by the owner on Oct 21, 2020. It is now read-only.

Latest commit

 

History

History
229 lines (212 loc) · 5.32 KB

File metadata and controls

229 lines (212 loc) · 5.32 KB

면접 질문 리스트

제가 받았던 질문과 다른 사람들의 질문들을 모았습니다. 질문과 이에 해당하는 답변은 계속해서 추가할 예정입니다.

객체지향 프로그래밍(OOP)

  • 객체지향 프로그래밍이 무엇인지
  • 객체지향 프로그래밍을 하는 이유
  • 객체지향 프로그래밍과 절차지향 프로그래밍의 차이
  • SOLID 원칙이란?
    • SOLID 원칙을 수행한 경험(프로젝트 관련)
  • 객체지향의 대표적인 특징 4가지 설명
    • 추상화
    • 캡슐화
    • 상속
    • 다형성
  • 객체지향 생활체조란?
  • 디자인 패턴 관련�

테스트 코드

  • 테스트 코드의 장단점
  • TDD
  • ATDD
  • BDD
  • 테스트 코드에 대한 경험

Java

  • final 사용하는 이유
  • Error와 Exception의 차이
  • Checked Exception과 Unchecked Exception 차이
  • try-with-resources에 대한 설명�
  • StringStringBuilder 차이
  • StringBuilderStringBuffer 차이
  • new String()과 ""의 차이
  • Java8에서 추가된 기능
    • Lambda
    • 메서드 래퍼런스
    • Stream API
    • Optional
    • Date Type
  • Collection
    • HashMap vs HashTable vs ConcurrentHashMap의 차이
    • Vector와 List 차이
  • 롬복(Lombok)이 생성하는 메서드가 어느 시점에서 생성되는 지
  • 추상 클래스(abstract class) VS 인터페이스(interface)
  • JVM
  • GC
  • JUnit의 생명주기에 대해 아는지?
  • Generic을 쓰는 이유는?
  • 접근제어자
  • 자바 동기화
  • static은 메모리 구조 중 어디에 올라가는지
  • 오버로딩과 오버라이딩의 차이

Spring Framework

  • Spring Framework 사용 이유
  • Spring에서 DI나 IOC 개념
  • Spring에서 Service, Controller, Repository annotation의 차이점
  • Controller, RestController 차이점
  • Spring에서 서비스와 컴포넌트의 차이
  • IoC Container 직접 만든다면 어떻게 구현하실 생각인가요?
  • 스프링에서 빈 등록 방법
  • Spring MVC 설명
    • Spring MVC 에서 요청이 들어왔을 때부터 응답이 나갈 때까지의 흐름을 설명해주세요.
  • ControllerAdvice가 무엇인가요?
  • Interceptor와 Filter 차이
  • Field 주입과 생성자 주입, Setter 주입
  • AOP에 대해 설명해주세요
  • Spring VS SpringBoot
  • @Transactional 동작과정

JPA

  • ORM 설명
  • JPA 설명
  • OneToMay 문제점
  • FetchType 설명
  • N + 1 문제 설명

운영체제

  • 프로세스와 쓰레드 차이
  • 데드락
    • 데드락이 생기는 이유
    • 데드락을 막는 방법
  • CPU 스케줄링
  • 가상 메모리
  • 페이징

데이터베이스

  • MySQL 엔진
  • 인덱스란?
    • 인덱스의 장단점
    • 인덱스의 종류
  • 트랜잭션
    • 특징(ACID)
    • 격리수준
  • NoSQL
  • SQL 인젝션

네트워크

  • OSI 7 계층

자료구조

  • 자료구조란?
  • Array와 Linked List 차이
  • 큐와 스택
  • 트리
    • 이진 트리
  • 해시�
  • 그래프

알고리즘

  • 정렬 알고리즘
    • 각 정렬 알고리즘에 대한 특징, 장단점 비교

Web

  • HTTP
  • REST API
  • 인증 방식
  • 쿠키와 세션 차이
  • 브라우저 동작 방식

프로젝트

  • 프로젝트하면서 어려웠던 점과 이를 극복한 경험
  • 프로젝트를 하면서 초기에 설정한 목표와 완전히 다른 방향으로 변경해본 경험
  • 팀원과 반대되는 의견이 있을 때 설득해본 경험
  • 초기에 설정한 기능을 다 하지 못하고 몇 가지만 집중해본 경험
  • 팀원 중에 매우 소극적이고, 하지 않으려는 팀원이 있을 때 설득해본 경험
  • 팀원이 꺼려한 일을 해본 경험
  • 프로젝트를 하면서 아쉬웠던 점
  • 성능을 개선해본 경험

웹 백엔드

  • 분산된 환경에서 테스트하는 방법
  • 분산된 황경에서 로깅하는 방법
  • 서버 모니터링 구성
  • 서버 부하 테스트
  • 아파치
  • 엔진엑스
  • 로드밸런싱
  • 마이크로 서비스와 모놀리틱
  • 메시지 큐
  • 소켓
  • Docker

기술 키워드

  • 트랜잭션
  • OSI 7계층
  • 자바 컴파일 과정
  • 프로세스, 스레드
  • JVM 메모리 구조
  • JVM GC
  • stop-the-world
  • JVM
  • Domain
  • Call by value, Call by reference
  • Statement, PreparedStatement
  • Deep copy, Shallow Copy
  • Filter, Interceptor
  • Enum
  • JDBC
  • CI, CD
  • AOP
  • 동기, 비동기
  • HTTP 캐싱
  • HTTP 쿠키
  • 쿠키, 세션
  • @ExceptionHandler, @ControllerAdvice
  • @Transactional
  • 제네릭
  • Overriding, Overloading
  • ThreadLocal
  • 전략 패턴
  • 파사드 패턴
  • 템플릿 메서드 패턴
  • 싱글턴 패턴
  • String, StringBuilder, StringBuffer
  • 라이브러리, 프레임워크
  • HTTP Methods(GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS)
  • equals, hashcode
  • 어노테이션
  • JPA
  • 직렬화
  • 암호화(대칭키, 비대칭키)
  • Redis
  • Argument Resolver
  • 인증, 인가
  • Spring Data JPA
  • 단위 테스트
  • @Component, @Bean
  • 운영체제
  • PSA
  • 의존성
  • 객체지향
  • Daemon Thread
  • synchronized
  • API
  • stream
  • lambda
  • optional
  • 리플렉션
  • Bean, BeanFactory
  • 추상 클래스, 인터페이스
  • 라우터
  • SSL
  • DNS
  • 프로토콜
  • SOLID
  • bit, byte
  • Spring Boot
  • Checked Exception, Unchecked Exception
  • 동등성, 동일성
  • VO, DTO
  • Servlet
  • Comparable, Comparator
  • REST
  • DB 인덱싱
  • DB 정규화
  • OAuth
  • CORS
  • HTTP, HTTPS
  • TCP, UDP
  • Reverse Proxy
  • JWT
  • 해시
  • IoC, DI
  • N + 1 문제
  • 영속성 컨텍스트
  • JPA OSIV