면접

면접

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 토큰이 위조됐을때 검증하는 방법화상인터뷰