면접
면접
index.ys
2023. 10. 26. 19:15
화상인터뷰
- 자기소개
- 관계형DB vs NoSQL 차이
- 웹디자인 배웠는데 백엔드를 선택한 이유
- Redis와 MySQL이 데이터가 저장되는 위치
- Select절에서 Having By를 쓰는 이유
- 인덱싱에 대해서 설명
- JWT토큰에 대해 설명
- 세션과 쿠키의 차이
- git pull과 fetch의 차이
- 프로세스와 메모리의 차이
- 브라우저의 동작방식에 대해 (렌더링)
- 최근 공부하고 있는 내용 중 기억에 남는 내용에 대해 설명
- REST API란
- Node.js의 이벤트루프
- 호이스팅이란
- undefined와 null의 차이
- const로 변수를 선언하면 변수를 재할당 가능한지
- 자바스크립트 class와 prototype에 대해 설명
- 의존성 주입과 역전제어에 대해 설명
- Nest.js의 미들웨어와 인터셉터의 차이
대면면접
손코딩
1. 배열의 요소중 2개를 더해 주어진 target값이 되는 인덱스를 배열로 반환하기
- 예시
array=[2,7,11,13] target = 18
return [1,2]
array=[1,2,3,4] target = 3
return [0,1]
array=[5,8,2,4] target = 6
return [2,3]
- 작성코드
function sum(array,target){
const sortArray = array.sort()
for(let i=0; i<sortArray.length-1; i++){
for(let j=i+1; j<i; j++){
if(sortArray[i] + sortArray[j] === target){
return [i,j]
}
}
}
}
2. "(",")","[","]","{","}" 로만 이루어진 문자열이 주어졌을때, 한 쌍이 존재하지 않으면 false를 반환 존재하면 true
- 예시
case1
str = "({}[])"
output= true
case2
str = "(]"
output= false
case3
str = ")("
output= false
3. 소문자 알파벳이 모두 존재하는 문자를 pangram이라고 함 pangram일때 true 아닐때 false 리턴
- 예시
case1
str = "Thequickbrownfoxjumpsoveralazydog"
output = true
case2
str = "Hello world"
output = false
- 작성코드
function checkpangram(str){
const sortStr = str.sort()
const alphabet = "abcdefghijklmnopqrstuvwxyz"
return sortStr.includes(alphabet) ? true : false
}
기술질문
- Node.js 미들웨어의 역할
- Promise에 대해 설명
- Node.js가 비동기적으로 작업을 처리해야하는 이유
- AWS S3에 보안적인 이슈가 있는데 어떻게 처리?
- 테스트 코드도 작성했는지
- 본인이 생각했던 작업기간 보다 작업기간이 밀렸고 보고가 안된상태라면 어떻게 할 것인지
- JWT 토큰이 위조됐을때 검증하는 방법화상인터뷰