백엔드 기술 면접 리스트 총정리👩🏻‍💻

박두팔이·2023년 10월 27일
0

백엔드 기술면접

목록 보기
1/1
post-thumbnail

사실 학습을 진행하는 동안에는 배운스킬을 하루빨리 코드에 적용시키고 싶어서 이론을 구조화시키지 못한 것 같다. 어렵게 얻은 면접기회들을 흘려버릴 수는 없기에 간단하게나마 키워드를 중심으로 몇가지 작성해보려고 한다:)

먼저 질문리스트를 한곳에 나열하고 중요내용은 하나씩 블로깅해나갈 계획이다.

https://velog.io/@yoosion030/신입-개발자의-면접-준비-방법기술


기술 면접 질문

✔ JAVA 기초

Q1 자바 데이터 타입 중 기본형과 참조형의 차이에 대해 설명해주세요.

Q2 클래스와 객체에 대해 설명해주세요.

Q3 생성자에 대해 설명해주세요.

Q4 메서드 오버라이딩과 메서드 오버로딩의 차이는 무엇인가요?

Q5 자바의 메모리 영역에 대해 설명해주세요.

Q6 static 키워드에 대해 설명하고, static를 언제 사용해야 하는 지 설명해주세요.

Q7 자바 객체지향 프로그래밍(OOP)에 대해 설명해주세요.

Q8 자바 접근 제어자의 특징과 종류에 대해서 설명해주세요.

Q9 추상 클래스인터페이스의 차이는 무엇인가요?

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의 엔티티 간 연관 관계 매핑에 대해서 설명해 주세요.

  • @OneToOne, @ManyToOne, @OneToMany 등
  • mappedBy 속성에 대한 설명

✔ 트랜잭션

Q47 트랜잭션이 무엇인지 설명해 주세요.

Q48 트랜잭션 경계가 무엇인지 설명해 주세요.

Q59 Spring에서 트랜잭션을 설정하는 방법에 대해서 설명해 주세요.

  • @Transactional 애너테이션 방식
  • AOP 방식

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의 차이점을 설명해 주세요.

✔ API문서화

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의 동작에 대해 설명해 주세요.

✔ Cloud

Q76 사용해 본 클라우드 인프라 서비스에 대해 소개해 주세요.

Q77 vmware와 같은 가상머신이랑 Docker가 무슨 차이가 있는지 설명해 주세요.

Q78 CI/CD가 무엇이라고 생각하시나요? CI와 CD의 차이점이 무엇인지 설명해 주세요.

Q79 본인이 구현해 본 CI/CD 배포 자동화 과정을 설명해 주세요.

profile
기억을 위한 기록 :>

0개의 댓글