신입 프론트엔드 면접 질문 리스트 : CS, Network, Git

OS
- 프로세스와 스레드에 대해 설명해 주세요.
- 운영체제의 정의에 대해 설명해 주세요.
- 운영체제의 메모리 영역에 대해 설명해 주세요.
- 교착상태(Dead lock)에 대해 설명해 주세요.
- 페이징과 세그멘테이션에 대해 설명해 주세요.
Design pattern
- 객체 지향 프로그래밍에 대해 설명해 주세요.
- TDD에 대해서 설명해 주세요.
- MVVM과 Flux 패턴의 차이점을 설명해 주세요.
Algorithm
- Array와 linked list의 차이에 대해 설명해 주세요.
- Stack과 Queue에 대해 설명해 주세요.
HTTP & HTTPS
- HTTP와 HTTPS에 대해 설명해 주세요.
- RESTful API에 대해 설명해 주세요.
- GET과 POST의 차이에 대해 설명해 주세요.
- HTTP의 Status Code에 대해 설명해 주세요.
- HTTP 메서드에 대해 설명해 주세요.
- TCP와 UDP에 대해 설명해 주세요.
- TCP가 신뢰성을 보장하는 방법에 대해 설명해 주세요.
- TCP의 3-way-handshake와 4-way-handshake에 대해 설명해 주세요.
- HTTPS의 동작 방식에 대해 설명해 주세요.
Security
- CSRF 공격과 막는 방법에 대해 말씀해 주세요.
- XSS 공격과 막는 방법에 대해 말씀해 주세요.
Git & GitHub
- Git flow에 대해 설명해 주세요.
- Git에서 어떤 Command를 사용했나요?
- Git에서 브랜치 관리를 해본 적 있나요? Merge는 어떻게 진행했나요?
- PR/Issues/Commit 등에서 템플릿이나 컨벤션을 사용한 경험이 있나요? 사용한 이유가 무엇인가요?
ETC.
- DNS에 대해 설명해 주세요.
- 웹 소켓에 대해 설명해 주세요.