Programmer interview questions: 개발자 기술면접 예상질문 목록
2 minute read
[참고사이트][https://butter-shower.tistory.com/184?category=716065]
Database
정규화란? 정규화의 상세 단계는?
데이터베이스에서 이상이란? 이상은 왜 발생하는가? 그 종류는?
인덱스란? 언제 인덱스를 만드는 것이 좋을까?
트랜젝션이란? 트랜젝션의 네가지 특성은?
파티션이란?
뷰란?
반정규화란?
데이터베이스 스키마란?
NoSQL이란?
NoSQL에서 정규화를 할 수 있을까? 그 이유는?
join이란? join의 원리는?
프로시저/트리거/사용자정의 함수
Network
OSI 7계층이란? 각 계층은?
TCP/IP란?
TCP와 UDP 비교
프로토콜이란?
IPv4와 IPv6의 비교. 각각의 비트수와 전송 방식은?
VPN이란?
DNS란?
http는 어디 계층의 프로토콜인가? http와 https의 차이점은?
LAN과 WAN의 차이점
Http, ftp, telent 등 주요 포트 넘버는?
MAC 주소란?
OS
critical section에 두 프로세스가 동시에 접근하려 할 때 발생하는 ### 문제점은? 이를 어떻게 해결할 수 있을까?
virtual memory란?
프로세스와 스레드의 차이는?
페이징 기법과 세그멘테이션 기법의 차이는?
교착상태란?
CPU 스케줄링에는 크게 선점형과 비선점형이 있다. 각각에서 하나의 ### 알고리즘을 선택해 설명하자면?
기아(starvation) 현상이란? 이를 어떻게 해결할 수 있을까?
컴퓨터 부팅 과정은?
리눅스에서 커널이란? 커널의 특징은?
컴파일러란? 컴파일러와 인터프리터의 차이는?
LRU란?
여러가지..!?
REST란? SOAP과의 차이점은?
Git이란 무엇인가? Git의 장점은?
JVM이란?
AJAX란?
세션이란?
디자인 패턴이란? MVC 모델은?
디자인 패턴 중 singleton이란?
메모리 영역에서 힙, 스택에 대해서 설명하자면?
크론 표현식이란?
응집도와 결합도는 각각 무엇인가? 그 차이는?
DAO/VO란? DTO는?
Agile 개발 방법론이란?
함수형 프로그래밍이란?
컴퓨터 구조
hdd와 ssd의 차이는?
캐시란?
CPU의 구조는?
GPU란?
파이프라이닝이란?
슈퍼스칼라란?
메모리 계층의 구조는 어떻게 되어있는가?
RISC란? CISC### 와의 차이점은?
컴파일러란?
메모리의 구조는? (데이터, 스택, 힙~)
자료구조/프로그래밍
BFS, DFS란?
Queue란? Stack이란?
다이나믹 프로그래밍이란?
오버로딩과 오버라이딩의 차이점은?
상속이란?
객체지향 프로그래밍이란? 객체지향 프로그래밍의 3대 특징은?
인터페이스와 추상클래스 각각의 특징과 차이점은?
all by value, call by reference는 각각 무엇인가?
static의 의미는?
garbage collection이란?
그래프를 정의한다면?
해싱이란?
priority queue란?
정렬 알고리즘에는 무엇이 있는가? 그 중 하나를 구현한다면?
데이터 엔지니어링
빅데이터의 3요소는?
데이터 엔지니어링이란?
ETL이란?
맵리듀스란?
하둡이란?
스파크란?
RDD란?
HDFS란? HDFS에서 파일을 읽고 쓰는 과정을 말해주세요
HDFS에서 블록을 크게 설정하는 것이 좋을까 작게 설정하는 것이 ### 좋을까? 그 이유는?
네임 노드란?
도커란? 쿠버네티스란? 둘의 차이는?
정보보안
정보보안의 3요소는?
SQL Injection이란?
XSS란?
블록체인이란?
암호화 알고리즘의 종류와 대표적인 기법들에 대해서 설명하자면?
머신러닝 / 딥러닝
머신러닝과 딥러닝의 차이점은?
머신러닝을 3가지로 분류한다면?
Cross validation이란?
gradient descent에 대해서 가능한 자세하게 설명한다면?
모델의 성능 평가 지표에는 무엇이 있는가?
하이퍼파라미터 튜닝은 어떻게 할 수 있을까?
normalization과 regularization의 차이는?
batch normalization이란? 어떻게 동작하는가?
Activation Function에서 RELU함수를 많이 사용하는 이유는?
Max Pooling을 하는 이유는?
Global Average pooling이란?
SVM이란?
overfitting이란?
CNN의 장점은?
로지스틱 회귀란? 언제 로지스틱 회귀를 사용할 수 있을까?
Local Minima를 해결하는 방법은?
gradient vanishing이 생기는 이유는? 이를 해결할 수 있는 방법은 무엇이 있을까?
back propagation이란?
word2vec의 원리는?
auto encoder에 대해서 설명한다면?
sgd와 momentum에 대해서 설명해주세요
cost function이란?
activation function을 사용하는 이유는?
차원의 저주란?
l2, l1 정규화란?
앙상블을 사용하는 이유는?
CAM이란?
원-핫 인코딩이란?
n-gram은 무엇인가요?
stop words란? 왜 stop words를 제거해야 하나요?
weight initialization이란? 어떤 방법들이 있는가?
협업 필터링이란?
GAN이란?
엔트로피란?
accuracy, recall, precision이란? 각각은 언제 사용하는 것이 좋을까?
k-fold cross validation이란?
likelihood란? 이를 정규분포에서 어떻게 설명할 수 있을까?