명색이 취업준비일지인데 굳이 기술적인 내용만 적을 필요는 없는 것 같아 형태를 바꿨다.
특히 면접 질문 정리를 하는데 기술적인 내용을 추가로 적을 여유도 없었다..
내일도 면접인데 면접을 하기 전 기본적으로 준비해야 하는 것들에 대해 생각해봤더니
기본적인 질문들과 추가 질문이 들어올 수 있는 부분들이었다.
1.자기소개 -> 알고리즘, 스터디, 회고 및 일기
2.프로젝트 관련 경험
3.추가로 진행한 학습 관련 경험(스터디, 인턴십 등)
4.@지원 동기(물어보지 않는 경우도 있지만 물었을 때 답변을 하지 못하면 심각한 문제
5.4번과 유사하지만 회사 특성 및 회사 제품에 대한 질문 대비
6.JS전반(클로저, 프로미스, ES6, 이벤트루프)
7.React 전반(라이프사이클, props처리, 상태관리)
8.https, REST API 등
9.보안 관련
10.TDD
11.클린코드
12.OOP
13.에자일
아직 많은 면접을 본 것은 아니지만
면접마다 중복되는 질문이 거의 없는 것도 신기했다.
딱 하나 중복되는 것은 let, bar, const의 차이고
그것도 중요시하는 내용이 조금은 달랐던 것 같다.
let, bar, const에 대해 체크하는 것은 같았지만
cosnt에 집중해 왜 const를 상수라고 칭했는지에 대해 깊게 파고든 곳이 있고
let, bar, const의 차이점과 재선언, 재할당에 대해 물으며
scope의 차이에 대해 물어본 곳이 있었다.
면접은 정말로 케바케가 강하기 때문에
기본 적인 지식 외적인 부분은
아는 만큼만 솔직히 대답하는 것이 최적인 것 같다.
특히 모르는 내용을 확신을 가지고 답한다던지
둘 중 하나를 찍어버리는 행동은 정답을 맞췄을 경우는 괜찮지만
정답에 대한 꼬리질문이 나올 경우 답하지 못할 수 있고
틀렸을 경우에는 큰 감점요소라고 생각한다.
공통 부분들에 대해서는 경험을 통해 조금 늘어났지만
회사에 대한 정보가 없는 경우에는 조금 당황스럽다.
(1).백준 2164번 카드2는 큐와 어느정도 연관된 문제로
카드가 순서대로 있으면 제거, 맨 뒤로 이동, 제거, 맨 뒤로 이동을 반복하며
아래와 같이 하나의 숫자가 남을 때 까지 반복하는 문제였다.
1,2,3,4의 경우 1,2,3,4 => 2,3,4 => 3,4,2 => 4,2 => 2,4 => 4
간단하게 해결하기 위해서는 두 개의 동작을 반복하며
shift(), push(shift())를 하거나
slice(2)를 한 다음 push로 이전에 2번째에 위치한 값을 넣어줘도 될 것 같았다.
하지만 한번의 작업에 한번의 O(N)작업을 N/2회 반복해야 하기 때문에
시간복잡도가 너무 많아 보였기 때문에
규칙을 자세히 본 결과 짝수번째 인덱스만 제거하면 된다는 사실을 알 수 있었다.
1,2,3,4,5,6,7,8,9,10을 처음 할 때는 1,3,5,7,9를 제거하고
2,4,6,8,10에서는 2,6,10을 제거한다.
다만 2,4,6,8,10일 때는 갯수가 홀수이기 때문에 2,6,10이 제거되지만
다음으로 오는 것은 4,8이 아닌 8,4가 된다.
이런 문제가 있기 때문에 홀수 체크를 해준 다음
홀수의 경우 4,8을 8,4로 바꿀 수 있게 arr.push(arr.shift())를 해줬다.
이렇게 처리하면 filter를 사용하기 때문에 O(N)으로 한번 처리하지만
한번에 반으로 줄어들기 때문에 O(NlogN)으로 처리가 된다고 볼 수 있을 것 같다.
const input = 500000
let nums = []
for(let i = 1 ; i <= input ; i++){
nums.push(i)
}
while(nums.length > 1){
const condition = nums.length
nums = nums.filter((el,index) => index%2)
if(condition % 2){
nums.push(nums.shift())
}
}
console.log(nums[0])'회고' 카테고리의 다른 글
| [취업준비일지] - 110 (0) | 2023.02.07 |
|---|---|
| [취업준비일지] - 109 (0) | 2023.02.06 |
| [취업준비일지] - 107 (0) | 2023.02.04 |
| [취업준비일지] - 106 (0) | 2023.02.03 |
| [취업준비일지] - 105 (0) | 2023.02.02 |
