질문_syunyun - GANGNAM-JAVA/JAVA-STUDY GitHub Wiki
디자인 패턴 & 객체지향
- Proxy 패턴이란?
- 어댑터패턴과 프록시패턴의 차이
- 스트래티지 패턴 무엇인가?
- 싱글톤 패턴은 멀티스레드 환경에서 문제가 발생한다 어떻게 처리할것인가?
- 데코레이터패턴 무엇인가?
- 실무에 디자인 패턴 적용한 사례 있는가?
- 상속을 이용한 대표적인 디자인 패턴은 무엇인가?
- SOLID 설명해주세요
- 본인이 작업한 내용을 클래스다이어그램으로 화이트보드에 표현해보세요
- 추상클래스가 아닌 인터페이스를 사용하는 이유는?
- 리액터 패턴 설명
- 객체지향에서 다형성을 구현하기 위해서 상속과 합성이 있다 어떤걸 선택할것이냐?
Spring
- 스프링 빈은 기본적으로 싱글톤 방식으로 생성되는데 굳이 내부에 상태를 두고 싶다면 어떻게 할까?
- Spring에서 AOP를 구현하기 위해 내부적으로 어떻게 되어있을까?
- Spring 빈의 스코프에 대해 설명하고 사용해본 스코프는?
- IoC란? IOC를 구현하는 방법은?
- DI가 무엇인가?
- @Service, @Component의 차이는 무엇인가?
- @Service에서 인터페이스가 필요할까?
- 스프링의 AOP,DI가 그렇게 좋다고 하는데 뭐가 그렇게 좋으지 설명해보고 실제로 적극적으로 사용하는가?
Java
- 패러럴GC, G1GC의 차이점 설명해주세요
- Java8의 heap 메모리 구조를 설명해주세요
- GC가 일어나는 과정에 대해 설명해주세요
- Atomic Integer는 synchronized를 사용하지 않는가?
- Maven과 Gradle의 장단점 설명해주세요
- Java8과 자바 7과의 차이점은?
- Java HashMap은 어떻게 작동하는가?
- IO와 NIO에 대해서 설명
- 제너릭의 super,extend는 어떨때 사용해야할까?
- Hash 충돌이 발생할 경우 어떻게 되는가?
- 자바는 왜 GC를 도입했을까?
- Hash 충돌이 발생했고, 내부에 있는 데이터를 탐색할때 어떻게 탐색할까? (데이터는 정렬되어 있다고 가정)
- 내부클래스의 특징과 장점
- 직렬화란 무엇인가?
- 쓰레드를 생성하는 2가지 방법
- wrapper 클래스란?
- 추상클래스와 인터페이스의 차이는?
- GC 설명해주세요
- 서블릿 라이프사이클 설명해주세요
- Heap 메모리에대해 아는가?
- 클래스란 무엇인가?
- ArrayList와 LinkedList의 차이점 설명해주세요
- 순회도 자주하고 삽입삭제도 자주하는 경우 어떤 자료구조 사용해야하는가?
- 문자열 생성시 리터럴 방식과 인스턴스 생성방식의 차이점은?
- Exception 처리는 어떤 기준을 가지고 했나?
- Runtime Exception과 일반 Exception 차이를 아는가?
JPA
- JPA의 이점이 무엇인가?
- JPA가 좋은점만 있으면 마이바티스 필요없는가?
- MyBatis, ORM의 장단점은 무엇이 있을까?
- N+1문제 해결 어떻게 했는가?
보안
- SQL Injection이란?
- XSS란?
- 대칭키 암호화 방식과 공개키 암호화 방식의 차이
- 패스워드는 어떤방식으로 암호화하는게 좋을까?
- SSL 핸드쉐이킹 과정은?
데이터베이스
- MySQL 쿼리 향상을 위한 튜닝방법 설명해주세요
- MySQL 파티셔닝,샤딩 경험 있으신가요?
- B+ Tree가 무엇인가?
- 복합인덱스, 단일인덱스의 차이와 복합인덱스 사용시 주의점은?
- DB클러스터링과 리플리케이션의 차이는 무엇이냐?
- DB이중화 방식에 대해 모두 설명해봐라
- Join의 종류에 대해 아는대로 다 설명
- Isolation Level 설명
- NoSQL에서 No의 뜻은?
아키텍처
- N개의 API서버 구성 아키텍처와 MSA 차이는?
- 모놀리틱과 MSA 장단점
- 1tier, 2tier, 3tier 설명
기타
- URI와 URL 차이는?
- Nginx와 Apache중 어떤걸 선택할것인가?
- 정적파일을 빨리 받고 싶으면 어떻게 해야할까?
- call by value, call by reference 설명
- 데드락이 발생하는 상황을 설명해봐라
- 정렬알고리즘 아무거나 설명
- 고전적인 TCP 방식의 통신을 할때 네트워크가 끊기면 어떻게 전송데이터를 복구하겠는가?
- 웹소켓 동작방식 설명
- sync, async 설명
- blocking, non blocking 설명
- JWT와 Oauth에 대해서 설명
- 세션기반 인증의 단점은?
- 10억건의 로그가 각각 서버에 분산되어있을시 특정로그를 찾고자한다. 어떻게 해야할까?
- 스레드세이프 하다는것은 무엇인가?
- Restful이란 무엇인가?
- Restful하지하지 않다는건 무슨 의미일까?
- Connection timeout, Read timeout 설명해주세요
- 분산락이란?
- 웹 프로그래밍에서 동시성관리, 스레드 세이프한 코드를 작성하려면?
- TDD가 무엇인가?
- SPA에 대해서 어떻게 생각하는가?
- node.js와 Spring을 비교해서 설명
- Docker에 대해서 설명해주세요
- Docker에서 영속성을 관리해야한다면 어떻게 해야하는가?
- GET/POST/PUTE/DELETE 요청시 타임아웃이 발생하면 어떻게 대처할 것인가
- HTTP Method에 대해서 설명하라
- 사용자가 도메인을 입력하고 접속하려는데 접속이 안된다. 무엇을 확인하겠는가?
- Restful API에서 리소스란 무엇인가?
- 비즈니스 로직이 DB, Server, Client에 있을때 각 위치에 따른 장단점 무엇인가?