✨ 기술 면접 준비하기

: 개발자로서 기술적 직무 역량을 충분히 갖추었는지 판단하는 모든 면접 형태


☑️ 기술 면접 종류

  • 이력서 기반 질문형
  • 기본 개념 질문형
  • 알고리즘 문제 해결형
  • 간단한 실무 문제 해결형
  • 미니 프로젝트 제작형

☑️ 기술 면접의 목표

  • 나랑 같이 개발할 수 있을까?
  • 정말 잘 아는가?
  • 정말 잘 하는가?

잘 이해하고 잘 말해야 한다. 내가 정말 잘 아는지, 잘하는지 간단명료하게 설명하기 위해

한 문장 요약 + 자세한 설명 or 경험

🔹 두괄식으로 말하는 것이 좋다!

기계처럼 정확하게 말하려는 것보다 더듬더듬 말해도 자신이 잘 아는 것에 대해 잘 설명하는 것이 더 중요하다고 생각했습니다.


☑️ 기술 모의 면접 학습법

  1. 제시되는 단답형 질문이나 본인이 작성한 프로젝트 기술 면접 질문에 대한 짧은 정답을 작성한다.
  2. 예상되는 꼬리 질문을 스스로 준비한다.
  3. 단답형 질문과 꼬리 질문에 대해 설명하기 위한 풍부한 사례를 자신의 언어로 준비한다.

📍 고른 질문에 대한 답변을 글로 작성하기

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

💡 어휘적 환경이 뭐죠?

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

💡 그래서 클로저를 언제 쓰나요?

클로저는 사실 자바스크립트의 어떤 함수든 가지고 있습니다. 어떤 함수든 전역 변수에 접근할 수 있기 때문입니다. 그래서 언제나 쓰이고 있습니다.

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

중요한 포인트를 2~3개 선정하여 꼬리 질문에 대응하고, 답변 마지막에 다시 정리해서 지금까지 했던 내용을 말하면 좋습니다.

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


☑️ 면접 답변을 직접 녹화하고 스스로 피드백

면접 답변의 키워드만 적거나 답변을 보면서, 카메라를 보고 답변합니다.

더 나아가 면접 질문만 적어놓고, 카메라를 보고 답변합니다.


셀프 체크리스트

✔️ 잘 모르는 내용에 대해서 모르는 부분을 인정하고 아는 부분까지는 최선을 다해 설명하려고 노력했나요?

✔️ 추측성 단어(~같아요.)가 아닌, 자신감 있는 단어(~입니다.)로 답변하고 있나요?

✔️ 한 번 들었을 때, 이해하기 쉬운 답변인가요?

✔️ 몸을 베베 꼬거나 다른 데를 보거나 하는 나쁜 자세를 취하지 않았나요?

✔️ 질문을 잘 이해하고, 질문의 요지에 정확하게 답변했나요?

✔️ 해당 개념 설명이 간단 명료한가요?

✔️ 개념 설명과 예시가 단순 암기가 아니라 자신의 언어로 충분히 풀어 설명 되었나요?

✔️ 두괄식으로 개념을 설명하고, 그에 따른 예시를 풀어서 설명하고 있나요?

✔️ 개념 활용 예시가 구체적이고 풍부했나요?

✔️ 잘 모르는 내용에 대해서 불명확하게 설명한 부분이 있었나요?

✔️ 정확한 CS 용어(ex. 변수를 만들어서 값을 넣어요. → 변수를 선언하고 값을 할당합니다. 등) 를 사용해서 답변했나요?

👍👍👍 셀프 체크리스트를 참고해서 연습해보자!