사실 학습을 진행하는 동안에는 배운스킬을 하루빨리 코드에 적용시키고 싶어서 이론을 구조화시키지 못한 것 같다. 어렵게 얻은 면접기회들을 흘려버릴 수는 없기에 간단하게나마 키워드를 중심으로 몇가지 작성해보려고 한다:)
먼저 질문리스트를 한곳에 나열하고 중요내용은 하나씩 블로깅해나갈 계획이다.
https://velog.io/@yoosion030/신입-개발자의-면접-준비-방법기술
Q1
자바 데이터 타입 중 기본형과 참조형의 차이에 대해 설명해주세요.
Q4
메서드 오버라이딩과 메서드 오버로딩의 차이는 무엇인가요?
Q5
자바의 메모리 영역에 대해 설명해주세요.
Q6
static 키워드에 대해 설명하고, static를 언제 사용해야 하는 지 설명해주세요.
Q7
자바 객체지향 프로그래밍(OOP)에 대해 설명해주세요.
Q8
자바 접근 제어자의 특징과 종류에 대해서 설명해주세요.
Q10
이너클래스의 장점에 대해 설명해주세요.
Q11
OOP의 장점과 단점에 대해 설명해주세요.
Q12
List, Set, Map의 차이에 대해서 설명해주세요.
Q13
컬렉션과 스트림의 차이에 대해서 설명해주세요.
Q14
제네릭에 대해서 설명하고, 컬렉션 클래스에서 왜 제네릭을 사용하는지 설명해주세요.
Q15
재귀 함수와 반복문의 차이점에 대해 설명해주세요.
Q16
Stack과 Queue의 차이점에 대해 설명해주세요.
Q17
인접 행렬과 인접 리스트의 차이점은 무엇인가요?
Q18
탐욕(Greedy) 알고리즘을 사용하기 위해 성립해야 하는 조건에 대해 설명해주세요.
Q19
이진 탐색 알고리즘(BST)이 데이터를 효율적으로 찾기 위해 탐색하는 과정을 설명해주세요.
Q20
웹 브라우저에서 CORS 이슈가 발생하는 원인은 무엇이며, 서버에서 어떻게 해결할 수 있나요?
Q21
URL과 URI의 차이점이 무엇인가요?
Q22
DNS의 정의와 DNS가 필요한 이유에 대해 설명해주세요.
Q23
REST API란 무엇인가요?
Q24
Client Side Rendering 과 Server Side Rendering 의 차이점에 대해서 설명해주세요.
Q25
Foreign Key와 Primary Key에 대해 설명해주세요.
Q26
IOC에 대해 설명해주세요.
Q27
Spring에서 AOP가 필요한 이유에 대해 설명해주세요.
Q28
스프링 컨테이너(Spring Container)에 대해 설명해주세요.
Q29
DI(Dependency Injection)에 대한 설명과 해당 기술의 장점에 대해 설명해주세요.
Q30
Spring MVC 프레임워크의 요청처리 과정에 대해서 설명해 주세요.
Q31
Spring MVC에서 제공하는 CSR(Client Side Rendering)과 SSR(Server Side Rendering) 방식에 대해서 설명해 주세요. (중복질문)
Q32
Spring MVC에서 REST API 엔드포인트를 구현하기 위해 사용되는 애너테이션들에 대해서 설명해 주세요.
Q33
Controller에서 응답 객체로 사용하는 ResponseEntity에 대해서 설명해 주세요.
Q34
Rest Client가 무엇인지 설명해 주세요.
Q35
Spring 에서 사용하는 Rest Client에 대해서 설명해 주세요. (중복질문)
Q36
DTO가 무엇인지 설명해 주세요.
Q37
DTO의 장단점에 대해서 설명해 주세요.
Q38
DTO 클래스의 Request Body에 대한 유효성 검증 방법에 대해서 설명해 주세요.
Q39
Spring MVC에서의 예외 처리 기법에 대해서 설명해주세요.
-Controller내에서의 @ExceptionHandler 상용
-글로벌 Exception 처리
-비즈니스 로직 Exception 처리
Q40
데이터 액세스 계층에서 ORM이 무엇인지 설명해 주세요.
Q41
Spring JDBC, Spring Data JDBC, Spring Data JPA의 차이점을 설명해 주세요.
Q42
Spring Data JDBC에서의 애그리거트와 애그리거트 루트에 대해서 설명해 주세요.
Q43
JPA에서 의미하는 Persist에 대한 의미를 설명해 주세요.
Q44
JPA의 영속성 컨텍스트에 대해서 설명해 주세요.
Q45
JPA의 단일 엔티티 매핑 방법에 대해서 설명해 주세요.
Q46
JPA의 엔티티 간 연관 관계 매핑에 대해서 설명해 주세요.
Q47
트랜잭션이 무엇인지 설명해 주세요.
Q48
트랜잭션 경계가 무엇인지 설명해 주세요.
Q59
Spring에서 트랜잭션을 설정하는 방법에 대해서 설명해 주세요.
Q50
분산 트랜잭션이 무엇인지 설명해주세요.
Q51
트랜잭션 전파(Transaction Propagation)가 무엇인지 설명해 주세요.
Q52
트랜잭션 격리 레벨(Transaction Isolation Level)이 무엇인지 설명해 주세요.
Q53
기능 테스트, 통합 테스트, 슬라이스 테스트, 단위 테스트에 대해서 설명해 주세요.
Q54
JUnit의 Assertion이 무엇을 의미하는지 설명해 주세요.
Q55
Given - When - Then 패턴에 대해서 설명해 주세요.
Q56
MockMvc를 이용해 Spring MVC의 API 엔드포인트인
Controller를 테스트하는 방법을 설명해 주세요.
Q57
Mock이 무엇인지 설명해 주세요.
Q58
Stub과 Stubbing이 무엇인지 설명해 주세요.
Q59
Mockito가 무엇인지, Mockito의 역할에 대해서 설명해 주세요.
Q60
@SpringBootTest와 @WebMvcTest의 차이점을 설명해 주세요.
Q61
Swagger와 Spring Rest Docs의 장단점을 설명해 주세요.
Q62
Spring Rest Docs의 API 문서화 동작 방식에 대해서 설명해 주세요.
Q63
Spring Boot 기반 애플리케이션을 빌드하는 방법에 대해서 설명해 주세요.
Q64
Spring Boot 기반 애플리케이션 빌드 시, 주로 사용하는 프로파일(Profile)에 대해서 설명해 주세요.
Q65
Spring Boot 애플리케이션 실행 파일을 배포하는 방법에 대해서 설명해 주세요.
Q66
인증과 인가의 차이에 대해 설명해 주세요.
Q67
세션에 대해서 모르는 사람한테 설명하듯 간단하게 설명해 주세요.
Q68
세션과 쿠키 그리고 토큰 인증 방식에 대해 설명해 주세요.
Q69
세션과 토큰 인증 방식 중 각각의 장단점을 말씀해 주세요.
Q70
HTTP와 HTTPS 각각에 대해 설명하고 둘의 차이점을 말씀해 주세요.
Q71
HTTPS의 동작 방식을 설명해 주세요.
Q72
OAuth 2.0의 워크플로우에 대해서 설명해 주세요.
Q73
Spring Security의 인증 처리 흐름에 대해 설명해 주세요.
Q74
Spring Security의 인가 처리 흐름에 대해 설명해 주세요.
Q75
Filter가 무엇인지 설명하고 Filter Chain의 동작에 대해 설명해 주세요.
Q76
사용해 본 클라우드 인프라 서비스에 대해 소개해 주세요.
Q77
vmware와 같은 가상머신이랑 Docker가 무슨 차이가 있는지 설명해 주세요.
Q78
CI/CD가 무엇이라고 생각하시나요? CI와 CD의 차이점이 무엇인지 설명해 주세요.
Q79
본인이 구현해 본 CI/CD 배포 자동화 과정을 설명해 주세요.