TIL 40일차 - [면접] 기술 면접 준비하기

Yoon Kyung Park·2023년 6월 8일
0

TIL

목록 보기
40/75
  • 프론트엔드 개발자 기술 면접에 대해서 이해한다.

    o

  • 기술 면접에서 요구하는 올바른 답변이 무엇인지 이해한다.

    o

  • 기술 면접 준비를 직접 해본다.

    o

  • 모의 기술 면접을 실제 해보거나 시청하면서, 어떻게 기술 면접을 할지 고민해 본다.

    o


Step 1: 아래 질문 중 하나 이상의 질문을 고른다.

JavaScript
Promise의 기능과 필요한 이유에 대해서 설명해 주세요.
순수함수란 무엇인가요? 불변성과 사이드 이펙트와 연결하여 설명해 주세요.

React
React의 state와 props에 대해서 설명해 주세요.
React 컴포넌트의 key 속성에 대해서 설명해 주세요.
useEffect의 dependency array에 대해서 설명해 주세요.

HTTP/네트워크
🙋‍♀️ CSR과 SSR의 차이점에 대해서 설명해 주세요.
🙋‍♀️ GET 메서드와 POST 메서드의 차이점에 대해 설명해 주세요.

웹서버 기초
HTTP 메시지 구조에 대해 설명해 주세요.
🙋‍♀️ Same-Origin Policy와 CORS에 대해서 설명해 주세요.


Step 2: 고른 질문에 대한 답변을 글로 작성한다.

🟠 우선 답변을 한 마디로 정리한다.

나쁜 면접관은 없지만, 바쁜 면접관은 있다.
이력서도 제대로 읽고 들어오지 못하는 면접관이 있을 거다.
그래서 짧고 명료하게 해당 질문에 대한 답을 하는 것이 가장 좋다.
(간단 명료한 답변이 마음에 들었다면,
이후 내용은 맞다고 생각하고 넘어갈 수도 있다.)

예시 질문: 클로저에 대해서 설명해 주세요.
클로저는 함수와 함수가 선언된 어휘적 환경의 조합입니다.

🟠 해당 질문의 중요한 포인트를 2-3개 선정한다.

면접관은 “정말 이 개념을 잘 알고 있는가?”를 궁금해한다.
아마 위 정의를 그대로 이야기하고 추가로 설명을 하지 않으면,
“잘 모르는 것 같은데?”라고 의심할 거다.
면접관이 꼬리 질문을 하기 전에, 먼저 핵심 포인트에 대해서 고민해 본다.

예시 질문: 클로저에 대해서 설명해 주세요.
클로저는 함수와 함수가 선언된 어휘적 환경의 조합입니다.

어휘적 환경이 뭐죠?
함수가 선언된 주변 환경을 의미합니다. 주로 외부 함수(outer function)의 변수가 내부 함수(inner function)의 어휘적 환경에 포함됩니다. 그래서 내부 함수를 리턴해도 나중에 클로저의 어휘적 환경에 접근하여 외부 함수의 변수에 접근할 수 있습니다.

그래서 클로저를 언제 쓰나요?
클로저는 사실 JavaScript의 어떤 함수든 가지고 있습니다. 어떤 함수든 전역 변수에 접근할 수 있기 때문입니다. 그래서 언제나 쓰이고 있습니다.

JavaScript에서 private 메서드를 구현하기 위해서도 클로저를 활용할 수 있습니다. 클로저 내에 있는 변수는 외부에서 접근할 수 없기 때문에, 클로져 내에 있는 변수를 활용할 수 있는 private 메서드만 따로 노출시켜서 인터페이스처럼 사용할 수 있게 됩니다.

🟠 답변을 중요한 포인트와 함께 다시 정리한다.

바쁜 면접관은 위 설명을 제대로 못 들었을 수도 있다.
그래서 다시 지금까지 했던 내용을 정리하면 좋다.

정리하면, 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이며 특히 private 메서드 구현을 위해 알아야 하는 개념입니다.


Step 3. 면접 답변을 직접 녹화하고 스스로 피드백한다.(Optional)

자신이 선정한 면접 답변을 화면에 띄워두고, 면접 답변을 스스로 해본다.
줌 녹화 기능을 활용한다.

난이도 하: 작성한 면접 답변을 보면서, 카메라를 보고 답변한다.
면접 답변을 제대로 힘 있게 읽는 것에 집중한다.
자신의 시선이나 행동, 자세를 모니터링한다.

난이도 중: 면접 질문과 면접 답변의 키워드만 적어놓고, 카메라를 보고 답변한다.
면접장에서는 작성해 둔 면접 답변을 볼 수 없기 때문에,
키워드를 보고 면접 답변의 내용을 떠올리면서 답변한다.
면접 답변의 내용이 100% 떠오르지 않았을 때,
어떻게 자신의 언어로 바꿔서 답변할 수 있는지 고민한다.
자신의 시선이나 행동, 자세를 모니터링한다.

난이도 상: 면접 질문만 적어놓고, 카메라를 보고 답변한다.
키워드와 면접 답변 모두 자신의 머리에서 입으로 잘 표현할 수 있는 연습이다.
면접 답변의 내용이 100% 떠오르지 않았을 때,
어떻게 자신의 언어로 바꿔서 답변할 수 있는지 고민한다.
자신의 시선이나 행동, 자세를 모니터링한다.

💁‍♀️ 셀프 체크리스트
🤔 잘 모르는 내용에 대해서 모르는 부분을 인정하고 아는 부분까지는 최선을 다해 설명했나?
🤔 추측성 단어(’~같아요.’)가 아닌, 자신감 있는 단어(’~입니다.’)로 답변했나?
🤔 한 번 들었을 때 이해하기 쉽게 답변했나?
🤔 몸을 배배 꼬거나 다른 데를 보거나 하는 나쁜 자세를 취하지 않았나?
🤔 질문을 잘 이해하고, 질문의 요지에 정확하게 답변했나?
🤔 해당 개념 설명이 간단명료한가?
🤔 개념 설명과 예시가 단순 암기가 아니라 자신의 언어로 충분히 풀어 설명했나?
🤔 두괄식으로 개념을 설명하고, 그에 따른 예시를 풀어서 설명했나?
🤔 구체적이고 풍부한 개념 활용 예시를 사용했나?
🤔 잘 모르는 내용에 대해서 불명확하게 설명한 부분이 있었나?
🤔 정확한 CS 용어(ex. 변수를 만들어서 값을 넣어요. → 변수를 선언하고 값을 할당합니다. 등)를 사용해서 답변했나?


소감

🔡➡️💻➡️🤓👍

하나를 선택해서 답변을 준비하는 건 줄 알고 하나만 준비했는데
4가지 부분에서 하나씩 질문을 받는 거였다.

section 2는 이해하고 복습하기 보다는 과제 제출에 의미를 부여하다보니
제대로 이해하고 넘어가지 않아도 과제를 제출하면 끝이라는 마음이 강했던 것 같다.

그래서 스스로 부족함을 알면서 지나치다가 오늘 기술 모의 면접에서
답변하지 못하면서 스스로 다시 한 번 부족함을 느낀 하루였다.

다시 돌아가서 section 1과 2를 복습할 예정이다.
진짜 지금이라도 돌아가서 복습하는 게 가장 빠른 길이다.

profile
developerpyk

0개의 댓글