예비 개발자들의 기술 면접 준비를 위한 자료를 정리해놓은 Repository입니다. 제가 개인적으로 면접을 준비하면서 정리한 내용이라 잘못된 부분이 있을 수 있습니다. 이런 부분들에 대해서는 Pull Request
or Issue
로 참여해주시면 정말 감사하겠습니다. 또한 주제와 관련된 좋은 Reference를 추가하는 것도 가능합니다.(참여해주시면 Contributor 등록됩니다!) 해당 Repository에서 학습을 하시다가 생기는 질문은 Issue
에 올려주세요.
취준생 여러분의 건승을 기원합니다 :)
개발상식 Link
- 객체 지향 프로그래밍이란 무엇인가?
- 객체 지향 개발 원칙은 무엇인가?
- RESTFul API란?
- TDD란 무엇이며 어떠한 장점이 있는가?
- MVC 패턴이란 무엇인가?
자료구조 Link
- Array vs LinkedList
- Stack and Queue
- Tree
- Binary Tree
- Full Binary Tree
- Complete Binary Tree
- BST(Binary Search Tree)
- Heap
- Red-Black Tree
- 정의
- 특징
- 삽입
- 삭제
- HashTable
- hash function
- Resolve Collision
- Open Addressing
- Separate Chaining
- Resize
- Graph
- Graph 용어 정리
- Graph 구현
- Graph 탐색
- Minimum Spanning Tree
- Kruskal algorithm
- Prim algorithm
네트워크 Link
- GET, POST 방식의 차이점
- TCP 3-way-handshake
- TCP와 UDP의 차이점
- HTTP와 HTTPS의 차이점
- HTTP의 문제점들
- DNS round robin 방식
- 웹 통신의 큰 흐름
운영체제 Link
- 프로세스와 스레드의 차이
- 스케줄러의 종류
- 장기 스케줄러
- 단기 스케줄러
- 중기 스케줄러
- CPU 스케줄러
- FCFS
- SJF
- SRT
- Priority scheduling
- RR
- 동기와 비동기의 차이
- 멀티스레드
- 장점과 단점
- 캐시의 지역성
- Locality
- Caching line
데이터베이스 Link
- 데이터베이스
- 데이터베이스를 사용하는 이유
- 데이터베이스 성능
- Index
- Index란 무엇인가
- Index의 자료구조
- Primary index vs Secondary index
- Composite index
- Index의 성능과 고려해야할 사항
- 정규화에 대해서
- 정규화 탄생 배경
- 정규화란 무엇인가
- 정규화의 종류
- 정규화의 장단점
- Transaction
- 트랜잭션(Transaction)이란 무엇인가?
- 트랜잭션과 Lock
- 트랜잭션의 특성
- 트랜잭션을 사용할 때 주의할 점
- Statement vs PrepareStatement
Design Pattern Link
- Singleton
Java Link
- JVM에 대해서 / GC의 원리
- Collection
- Annotation
- Generic
- final
- Overriding vs Overloading
- Access Modifier
- Wrapper class
- Multi-Thread 환경에서의 개발
(준비중)
대부분의 내용이 코드이기 때문에 별도의 Repository에 저장합니다.
- mission-peace/interview repository
- 각종 알고리즘에 대한 코드와 동영상 강의 링크를 제공합니다. (영어)
- awesome-interview-questions
- 각종 언어, CS 기초에 대한 interview 질문들이 정리되어 있습니다. (영어)