[Language - Javascript]
- var, let, const 에 대해 설명해주세요.
- Promise란 무엇인지 설명해주세요.
- async/await 이란 무엇인지 설명해주세요.
- Hoisting이란 무엇인지 설명해주세요.
- Arrow Function 이란 무엇인지 설명해주세요.
- Express란 무엇이고 왜 필요하며 대안은 무엇이 있는지 설명해주세요.
- 깊은 복사와 얕은 복사의 차이는 무엇이고 JS에서 각각을 구현하는 방법은 어떻게 되는지 설명해주세요.
- JWT에 대해 설명해주세요. 구체적으로 JWT를 어디서 처리하는지, 어떠한 방식으로 검증하는지, 재발급 방식과 주기는 어떻게 처리하는지, 다른 API 서비스 호출 시 어떻게 잡아서 인증 처리하는지 말씀해주세요.
- Node.js는 single-threaded 기반 JS 런타임입니다. 이에 대해 아는 만큼 설명해주세요.
- Node.js는 non-blocking, asynchronous 기반 JS 런타임입니다. 이에 대해 아는 만큼 설명해주세요.
- Node.js의 이벤트 루프란 무엇이고 왜 필요하며 어떻게 작동하는지 아는 만큼 설명해주세요.
[알고리즘]
- BigO에 대해 설명해주세요
- 다음의 정렬을 설명하고 본인이 가장 편한 언어를 사용하여 로직을 구현해주세요
- 선택 정렬(Selection Sort)
- 버블 정렬(Bubble Sort)
- 병합 정렬(Merge Sort)
- 삽입 정렬(Insertion Sort)
- 퀵 정렬(Quick Sort)
- 힙 정렬(Heap Sort)
- DFS와 BFS의 차이를 말해주세요
[Data structure]
- Array과 LinkedList를 비교설명해주세요.
- Stack과 Queue를 비교설명해주세요.
- 그래프(Graph)와 트리(Tree)를 설명하고, 둘의 차이점을 설명해주세요