Backend Interview Question 입니다.
생각해보면 좋을 질문들 위주로 목차를 구성했습니다.
- 프로세스란? 프로세스의 메모리 구조
- 프로세스의 상태
- 프로세스와 쓰레드에 관해서 설명
- 스케쥴링
- 프로세스 통신 IPC
- 프로세스 동기화 문제 (임계영역 문제)
- 데드락이란? 뮤텍스, 세마포어
- 빅엔디안, 리틀 엔디안
- CPU스케쥴링
- 메모리
- 메모리 관리 / 메모리 할당
- 페이징
- List, Array 의 검색, 삽입, 삭제에 관해서
- Stack의 자료구조
- Queue의 자료구조
- HashTable에 관해서 설명
- Keyword: HashFunction, Hash Collision (Open address, Sperate chainning)
- Tree
- Binary Tree
- Graph
- Heap 의 삽입, 삭제
- Binary Search Tree(BST)의 삽입,삭제
- B+ Tree
- AVL Tree
- Red-Black Tree
- Big O Notation
- Sort
- Quick Sort
- Merge Sort
- Heap Sort
- 분할 정복법
- 이진 탐색
- 동적 계획법 (Dynamic programming)
그리디 알고리즘BackTracking
- 네트워크 계층 OSI7계층
- TCP, UDP 차이
- 3way Hand Shake
- Subnet Mask
- 인덱스란
- DB 튜닝은 무엇을 해야 하나
- ACID
- Transaction Isolation Level
- 동시성 제어
- 보안
- SQL InJection
- RDBMS, NoSQL
- Replication
- Partitioning
- Sharding
- Java version 별 특징
- JVM
- JVM 메모리 구조
- GC
- GC의 종류와 각 특징들
- G1 GC의 특징
- Call by value, Call by reference
- Java collection framework
- Comparable, Comparator
- equals와 hashcode의 관계
- hashMap 내부 동작 원리
- Collision 충돌시 어떻게 해결?
- String, String Buffeur, String Builder
- Keyword: Immutable, Thread-safe
- Generic 왜 사용?
- Weak Reference, Soft Reference, Pantom Reference
- Keyword: GC, 객체 참조, 자원 해제
- Java에서 비동기
- Keyword: Future, ExecutorService,
- Java NIO
- Java Thread Pool
- Java 성능튜닝은 무엇?
- Spring Framework 기본 특징 3가지
- Spring Boot의 특징
- Spring 5특징
- Spring Bean 라이프 사이클
- Filter, Interceptor 레이어와 각각의 역할들
- BeanFactory와 ApplicationContext의 차이
- Reactive Programming 이란?
- Spring WebFlux의 특징
- NonBlocking, Async 에 대한 설명
- ORM 은 무엇, 어떤 장점? 어떤 단점? 실무에서 사용해본 경험?
- MyBatis와 무엇이 다른가?
- JDBC, Spring JDBC, Spring Data JPA 각각 어떻게 다른가?
- N+1 문제란? 해결방법?
- 성능 최적화
- 자기소개
- 장단점
- 우리가 왜 뽑아야 하나?
- 5년후에 어떤 개발자?
- 이직하는 이유?
- 시도했다가 실패한 경험?
- 개발이 재밌나?
- 가장 재밌게 본 개발서적?
- 진행했던 개인프로젝트?
- 나는 어떤 포지션, 누구랑 일을 하고, 어떤 일을 하는지
- 현재 회사가 가지고 있는 해결해야할 가장 큰 고민?
- 앞으로의 회사의 방향성(개발적으로)
- 업무를 진행하는 프로세스는 어떻게 되는지?