취합본 - GANGNAM-JAVA/JAVA-STUDY GitHub Wiki

자바

  • 자바에서 쓰레드를 구현하는 방법과 동기화되는 과정을 설명하시오. o
  • hashCode() 값이 모두 같다면 어떤 일이 벌어지나요? hashcode()와 equls()는 언제 사용하고 왜 사용하는지? o
  • 패러럴GC, G1GC의 차이점 설명해주세요 o
  • Java8의 heap 메모리 구조를 설명해주세요(힙영역 vs 스택영역) o
  • 자바8에서 소개된 람다식과 메소드 레퍼런스를 설명하라. o
  • checked-exception VS unchecked-exception 차이점을 설명해보세요. o
  • 멀티스레드 & 스레드세이프티 & 스레드풀 각각의 특징을 설명하시오 o
  • Hashtable과 HashMap의 차이점은 무엇인가요? o
  • 객체의 직렬화와 역직렬화에 대해 설명하세요. o
  • 해시맵 충돌 해결방법(확인필요) o
  • thread safe란? 해결/회피 방법? o
  • Collection의 종류와 특징을 설명하시오 o
  • Call By Value / Call By Reference 차이 설명 및 예시 o
  • java의 non-static 멤버와 static 멤버의 차이 o
  • 박싱과 언박싱에 대해 설명 o
  • TreeMap, HashMap, LinkedHashMap의 차이를 설명, 언제 무엇을 사용하는 것이 좋은지 예를 들어 설명 o
  • RxJava에 대해 설명해보세요.
  • 스택과 링크드리스트와 리스트의 차이점을 설명해보세요.
  • 기본형과 참조형 차이는 무엇이고 장단점이 무엇인가?
  • 스레드 생성 방법과 장단점
  • new String()과 ""의 차이
  • 일급 컬렉션을 사용하는 이유는 무엇인가?
  • IO와 NIO에 대해서 설명
  • Java HashMap은 어떻게 작동하는가?
  • Atomic Integer는 synchronized를 사용하지 않는가?
  • 해쉬함수에 대해 설명하세요.
  • Persistence Context란 무엇인가?
  • 자바 8 특징*
  • String, String, StringBuffer 차이*
  • java optional 객체
  • 자바 람다 & 클로저
  • 가바지 컬렉션으로 런 아웃 메모리
  • rdb, nosql 차이(nosql eventual consistency)

스프링/JPA

  • Spring의 AOP의 특징과 어드바이스 종류와 사용된 proxy 패턴에 대해 설명해보세요. o
  • 스프링에서 @Transactional은 어떻게 동작하며 어떤 옵션이 있는가? o
  • 스프링에서 인증과 인가를 처리하는 방식에 대해 설명해보세요. o
  • @Service, @Component의 차이는 무엇인가? o
  • 스프링 MVC 웹 요청 처리과정을 설명하시오 o
  • @EnableWebMvc 는 어디에 필요한지 설명하시오 o
  • Spring Security 과정을 간략히 설명하시오 o
  • Spring 메시지 큐 Rabiit MQ vs KAFKA o
  • Spring의 Filter와 Interceptor의 차이점을 아는가? o
  • n+1 쿼리 문제란? o
  • @ControllerAdvice, @ExceptionHandler에 대해 설명하시오 o
  • AspectJ에 대해 설명해보세요 o
  • @Service에서 인터페이스가 필요할까?
  • 스프링 환경설정 혼자 잡을 수 있는가? 대강 어떻게 해야하는지 설명해 보시오.
  • 스프링 빈은 기본적으로 싱글톤 방식으로 생성되는데 굳이 내부에 상태를 두고 싶다면 어떻게 할까?
  • @RequestMapping은 무엇을 하는건가?
  • @Controller와 @RestController는 stereotype 인가?
  • Spring MVC에서 언제 @ResponseBody 를 사용해야 하는지 설명하시오
  • 스프링 프레임워크의 특징에 관해 설명해주세요.(POJO/ 제어반전/ 영속성/ 확장성)
  • 이벤트 소싱이란?
  • JPA vs Mybatis
  • AOP 클래스 참조와 인터페이스 참조의 차이점
  • Maven에 대해 설명
  • Framework와 Library의 차이

DATABASE/SQL

  • SQL의 HINT를 설명해주세요. o
  • memcached보다 redis의 공통점과 차이점은? o
  • 트랜잭션 격리 수준 (Isolation Level) 에 대해서 설명하세요. o
  • RDB의 데드락이 일어나는 상황과 교착상태에 대해서 설명하시오 o
  • DB 옵티마이저에 대해 아는가? o
  • 복합인덱스, 단일인덱스의 차이와 복합인덱스 사용시 주의점은? o
  • DB클러스터링과 리플리케이션의 차이? o
  • Join의 종류에 대해 아는대로 다 설명 o
  • 정규화, 역정규화는 무엇인지? o
  • rdb와 nosql의 차이와 장단점은? o
  • 디비 인덱스 동작 원리? 디비 인덱스 쓰는 이유 언제 쓰면 좋은지? B- tree o
  • 트랜잭션 ACID o
  • 샤딩과 파티셔닝에 대하여 설명 o
  • 디비 실시간 통신과 디비풀 이용시의 차이
  • SQL Injection?
  • 데이터 베이스 성능 튜닝의 3대 핵심 요소
  • DB INDEX 성능을 위해 고려해야할 것은 무엇이 있나요?
  • 인덱스 탐색 순서
  • 인덱스 사용이 불가한경우
  • 비정규화란 무엇인가? 그 장단점을 설명하라.
  • dispatcherservlet*
  • jpa persistence*
  • lock 종류*
  • docker & kubernatis
  • TDD란?
  • rest, restful api
  • context switching
  • 뮤텍스와 세마포어 데드락

Infra/운영

  • heap dump를 튜닝하는 방법에 대해 설명해보세요. o
  • 레디스 캐시를 어떻게 사용해야하나? o
  • SSL 핸드쉐이킹 과정은? o
  • 대칭키 암호화 방식과 공개키 암호화 방식의 차이 o
  • Nginx와 Apache중 어떤걸 선택할것인가? o
  • rest api method o
  • http status code o
  • jwt란 무엇이며, 구성은 어떻게 되어 있고, oauth와 차이는? o
  • ssl과 https 절차를 설명하시오 o
  • Connection Timeout과 Read Timeout의 차이? o
  • RESTful API란?
  • 도커의 특징 o
  • 쿠버네티스의 특징 o
  • CI/CD 툴 예시 및 특징 설명 o
  • 온프로미스 환경과 클라우드 환경의 차이 및 장단점 o
  • Kafka와 RabbitMQ의 차이점에 대해서 설명하세요.
  • kafka의 토픽과 파티션과 메세지 처리 방식에 대해 설명해보세요.
  • 성능 최적화 시나리오에 대해 설명해보세요.
  • 고전적인 TCP 방식의 통신을 할때 네트워크가 끊기면 어떻게 전송데이터를 복구하겠는가?
  • Docker에서 영속성을 관리해야한다면 어떻게 해야하는가?
  • http 프로토콜이란?
  • http https 차이
  • Http2 를 설명하시오
  • REST와 SOAP에 대해 설명

Architecture/Design pattern

  • 추상클래스와 인터페이스 차이 o
  • 상속의 단점 o
  • extends 보다는 composition을 사용해야 하는 이유는 무엇인가요? o
  • MSA의 장점과 단점에 대해서 설명하세요
  • 도메인 주도 설계시 각 레이어에 대한 설명을 해보세요.
  • 싱글톤이나 Factory Method 패턴에 대해 설명하시오. 혹은 아는 디자인 패턴에 대해 설명해보세요.
  • MSA가 각 모듈별로 배포되는 과정에 대해서 설명해보세요.
  • 유닛테스트를 해본적이 있는지? TDD와 레거시 코드를 리펙토링 방법에 대해서 설명해보세요.
  • 싱글톤 패턴은 멀티스레드 환경에서 문제가 발생한다 어떻게 처리할것인가?
  • N개의 API서버 구성 아키텍처와 MSA 차이는?
  • 모놀리틱과 MSA 장단점
  • 비즈니스 로직이 DB, Server, Client에 있을때 각 위치에 따른 장단점 무엇인가?
  • 추상클래스가 아닌 인터페이스를 사용하는 이유는?
  • TDD란 무엇인가?(카카오 페이)
  • DDD 란?
  • 디자인 패턴 아는대로
  • 엔티티와 밸루의 차이는 무엇인지 설명해보세요.
  • MSA가 각 모듈별로 배포되는 과정에 대해서 설명해보세요.
  • 도메인 주도 설계시 각 레이어에 대한 설명을 해보세요.
  • MSA 트랜잭션 처리 방법
  • DDD 란?
  • 메시지 큐 아키텍쳐에 대해 설명해보세요. 그리고 사용 예시를 들어 설명해보세요.
  • MSA 아키텍쳐에서 트랜잭션을 처리하는 방식은?
  • 무중단 배포 경험이 있는가?
  • TDD란 무엇인가?
  • Docker와 Kubernetes에 대해 설명해보세요.
  • 디디디란?
  • 디자인 패턴 아는대로 설명하시오
  • MSA란? 모놀리틱과 비교하여 장단점을 설명하시오
  • MSA 트랜잭션 처리 방법
  • TDD란?

cs

  • 데드락이 발생하는 상황을 설명해봐라
  • 스레드세이프 하다는것은 무엇인가?
  • Hash 충돌이 발생했고, 내부에 있는 데이터를 탐색할때 어떻게 탐색할까? (데이터는 정렬되어 있다고 가정)
  • 순회도 자주하고 삽입삭제도 자주하는 경우 어떤 자료구조 사용해야하는가?
  • sync, async, blocking, non blocking 설명
  • 프로세스의 생성과정에 대해 설명
  • 스케줄러란?
  • 멀티스레드의 장단점
  • 사용자 수준 스레드와 커널 수준 스레드의 차이
  • 동기와 비동기의 차이
  • 퀵소트 머지소트 시간복잡도 설명
  • 컴파일언어와 인터프리터 차이
  • 라이브러리 vs 프레임워크
  • 인터페이스(Interface)란? 또 왜 사용하나?
  • 상속과 합성(컴포지션)의 차이에 대해서 설명해 주세요.
  • 동기 VS 비동기 프로그래밍
  • 블로킹 IO VS 논블로킹 IO
  • 함수형 프로그래밍이란?
  • 주소창에 naver.com을 입력하고 엔터를 쳤을때 일어나는 과정을 설명해보세요.
  • 쓰레드와 동기화, 데드락에 대해 예시를 들어 설명해보세요.
  • 프레임워크와 라이브러리의 차이
  • sync, async, blocking, nonblocking 개념에 대해 각각 설명해보세요.
  • 애자일 방법론 vs 워터폴 방법론
  • 상속과 합성(컴포지션)의 차이에 대해서 설명해 주세요.
  • 퀵소트 머지소트 시간복잡도 설명
  • 블로킹 IO VS 논블로킹 IO
  • MSA 특징 및 장단점
  • No SQL의 종류와 사용하는 이유
  • 퀵소트, 머지소트 시간복잡도 설명
  • 상속과 합성의 차이?
  • 동기, 비동기, 블럭킹, 논블럭킹의 차이
  • DNS 동작 방식
  • 프로세스와 스레드 차이