- 인성
8
자기소개
성격의 장단점
지원사유
가장 기억에 남는 프로젝트
꾸준히 한 노력
- 왜 회사에서 지원자를 채용해야하는지(직무 경험 혹은 이에 대한 자신의 강점)
- 3년 후의 나의 모습
- 나중에 어떤 개발자가 되고 싶으신지 말씀해주세요
- 궁금한 점
- 회사에서 이루고 싶은 문화
- OS
4
멀티쓰레드 프로그래밍 주의 사항
- deadlock
프로세스 vs 쓰레드
- 뮤텍스와 세마포어 그리고 모니터 + https://steady-coding.tistory.com/517
- 가상 메모리란?
- 정의, 관리 기법
- 32 bit os vs 64 bit os and 32 bit cpu vs 64 bit cpu
- 메모리크기, 명령어 (word) 크기
- process fork vs exec
- CPU 스케쥴링이란?
- DB 파트
7
Database
Primary key
- Relation 에서 tuples 를 unique 하게 식별하기 위해 선택된 candidate keyForeign Key
- 다른 Relation 의 PK 를 참조하는 attributes set- inner조인과 outer조인의 차이, left 조인
Database Index 란
- 동작 원리,
사용시 주의점
- 인덱스를 구현하는 방식 중 b 트리가 가장 널리 활용되는 이유는?
- 인덱스 구조 및 저장방법
- 데이터베이스 복합 인덱스 장점 및 이유
- Database Transaction 이란?
- ACID에 대해서 설명해주세요
트랜잭션 격리 수준
- 클러스터링, 리플리케이션, 샤딩
Database Lock 의 종류 (pessimistic, optimistic), Jpa 에서의 사용 방법, 발생하는 쿼리의 차이는?
- 데이터베이스 정규화란?
- 데이터 정규화를 약하게 조절하기도 하는데 어떤 상황에서 그럴까요?
- 웹 / 네트워크 파트
12
REST API 란
- REST API 와 HTTP API의 차이점
- REST 아키텍처 스타일에는 어떤 것들이 포함되어있나?
HTTP 요청 Method 와 RESTAPI
- GET / POST의 차이점.
HTTP 응답 상태코드 100대 ~ 500대
- 301 vs 302 의 차이점, 304
- 401과 403의 차이점.
리다이렉트 vs 포와드
- OAuth2.0 이란?
- 세션/쿠키 차이
- JWT에 대해 설명해주세요, 사용하면 장점과 단점?
Web Server vs WAS
- 주소창에 네이버 닷컴 엔터 빵 아는대로 설명
DNS 란
- cors 란?
- TCP vs UDP
- TCP의 3-way-handshake와 4-way-handshake
- Q. TCP의 연결 설정 과정(3단계)과 연결 종료 과정(4단계)이 단계가 차이나는 이유?
- Q. 초기 Sequence Number인 ISN을 0부터 시작하지 않고 난수를 생성해서 설정하는 이유?
HTTPS 란?
Q. 만약 Server에서 FIN 플래그를 전송하기 전에 전송한 패킷이 Routing 지연이나 패킷 유실로 인한 재전송 등으로 인해 FIN 패킷보다 늦게 도착하는 상황이 발생하면 어떻게 될까?
Client에서 세션을 종료시킨 후 뒤늦게 도착하는 패킷이 있다면 이 패킷은 Drop되고 데이터는 유실될 것입니다.
이러한 현상에 대비하여 Client는 Server로부터 FIN을 수신하더라도 일정시간(디폴트 240초) 동안 세션을 남겨놓고 잉여 패킷을 기다리는 과정을 거치게 되는데 이 과정을 "TIME_WAIT" 라고 한다.
- 개념 파트
8
- Scale-up과 Scale-out의 차이
- Parameter와 Argument의 차이
동시성 프로그래밍이란
,주의사항
- Sync Async, Block non-block
Call by value, Call by reference
- MSA란 무엇인가요? 장점과 단점을 말씀해주세요
Git Rebase, Merge 차이
- 특별 이벤트 같이 트래픽이 과도하게 발생할 것이 예상 될때 해당 상황에서 어떻게 대응
- 암호화 하나
- 객체지향
7
- 클래스, 객체, 인스턴스 차이
- 클래스 = 객체의 설계도
- 인스턴스 = 메모리에 올라간 객체
- 객체 = 상태와 행위를 가지는 논리적인 모듈
- 객체지향의 특성
- 객체지향의 5원칙 (SOLID)
- Dependency Injection
인터페이스란? 사용 이유
- 인터페이스 vs 추상클래스
오버로딩 vs 오버라이딩
- 클라우드/ 인프라
4
- on-premises 에서 cloud 로 가야하는이유
- 로드 밸런서에 대해서 설명해주세요.
- 리버스 프록시에 대해서 설명해주세요.
- API Gateway에 대해서 설명해주세요.
- Java 파트
10
- https://f-lab.kr/blog/java-backend-interview-1
Java Collection 이란
- Hashtable(허용x)과 HashMap(허용)의 차이점 → ConcurrentHashMap ?
- null 허용 여부
- 동기화 여부
- 해쉬방식(해쉬맵은 보조 해쉬 사용) 등이 답.
- 해쉬맵의 key 는 무한하다고 생각하는가 유한하다고 생각하는가?
- List 와 Set 의 차이는?
- 대표적인 구현 방식은?
- ArrayList 와 LinkedList 의 차이는?
- Array 와 ArrayList 의 차이는?
Java Generic 이란
- Java Stream 이란? 주의 사항
- java == 과 equals
- Equals 메소드를 오버라이딩할 때의 주의할점
- 자바 예외 구분 CheckedException / UnCheckedException
- Mutable / Immutable 에 대해서 설명
- String 클래스는 immutable 한가? 그 이유는?
- String 변수에 값을 수정하면 값이 바뀌는데 mutable 아닌가?
- boxing과 unboxing은 무엇이고 언제 일어나는지?
가비지 콜렉터란? 동작 방식은?
- Reference Counting vs Mark & sweap (Serial, Pararell, CMS, G1)
- https://www.baeldung.com/jvm-garbage-collectors
- https://d2.naver.com/helloworld/1329
jvm 의 다양한 옵션에 대해 알고 있니?
- 스프링 파트
6
Spring 프레임워크란
- IOC/AOP/PSA
- @Controller, @Service, @Repository
- @Transactional 어노테이션을 스프링 프레임워크가 만나게 된다면 어떤 행동을 하는지?
- 주의할점, 예외를 만나면 어떻게 동작하는가
- DispatcherServlet이 어떤건지?
- DispatcherServlet부터 시작해서 Controller의 ViewResolver까지의 프로세스를 간단히 설명해주세요.
- Spring Boot 에 의해서 애플리케이션이 실행되고 애플리케이션이 실행 가능한 상태가 되기 까지의 과정을 설명해주세용
- JPA
3
- JPA 장점, 단점
- JPA 영속성 컨텍스트의 장점
- JPA N+1 문제
- hah
- Container vs Virtual Machine
- docker container 의 동작 원리 - linux namespace
- HTTP1.0 vs HTTP2.0
- HTTPS
- 무중단 배포 방식 (Rolling / BlueGreen / Canary)
- JVM 옵션들
- JVM GC 들
- Time To Live
Database Isolation Level
OAuth2.0 Flow
- APM
- Database Connection Pool & Timeout
Database Lock 의 종류, Jpa 에서의 사용 방법, 발생하는 쿼리의 차이는?
- mvcc 란?
- 프로젝트의 안정된 아키텍처 유지 및 통일성을 갖추기 위한 룰을 제안하고 준수하였습니다.
- 어떤 룰을 제안하셧나용?
- cpu bound 애플리케이션과 io bound 애플리케이션 을 확장하기 위해 고려해야 할 점 차이