정의 : 개발자로서 기술적 직무 역량을 충분히 갖추었는지 판단하는 모든 면접 형태
목표 : 궁극적으로 면접관이 “나랑 같이 개발할 수 있을까?”를 확인하는 과정이다. 면접자가 “정말 잘 아는가?”, “정말 잘 하는가?”로 귀결된다.
ex) "개발 프로젝트 A에서 React를 사용한 특별한 이유가 있나요?"
ex) "클로저에 대해서 설명하세요."
ex) 이진 트리 뒤집기 문제
ex) JSON 데이터를 브라우저에 보여주기, debounce 구현하기
ex) IMDB 영화 Top 100을 조회할 수 있는 프로젝트 제작
Q : 스코프에 대해서 설명해보세요.
A : 스코프는 변수가 접근할 수 있는 범위입니다. 한 스코프 범위 내에서 외부 스코프의 변수에는 접근 가능하지만, 내부 스코프의 변수에는 접근이 불가능합니다.
- 자바스크립트에서 function scope, block scope의 차이는?
- 자바스크립트에서 lexical scope와 dynamic scope의 차이는?
- var로 선언된 변수는 function scope, block scope중 어떤 scope를 가지는가?
"var로 선언된 변수는 function scope를 가집니다.
특히 for문을 사용할 때 이 차이가 두드러지는데, for문의 중괄호는 block scope지 function scope가 아니기 때문에 for문의 초기화식에 var를 사용하는 경우, function scope내에서 var로 선언된 변수가 변경될 수 있습니다. 이런 가능성을 최대한 배제해야 예측 가능한 코드를 작성할 수 있기 때문에 var 사용은 다소 위험합니다."
Step 1. 질문을 고른다
Step 2. 답변을 한 마디로 정리한다.
const는 초기 할당된 값이 바뀔 수 없는 블록 범위의 상수 선언 키워드로, 재할당은 불가능 하지만, 요소나 속성은 추가할 수 있습니다.
Step 3. 해당 질문의 중요한 포인트를 2~3개 선정한다.
예를 들어, const 변수에 객체를 할당하면 객체를 가리키는 주소 값이 할당되고, 이 값은 불변입니다. 하지만 요소나 속성을 추가하거나 변경하는 행위는 const에 할당된 값이 아니기 때문에 가능합니다.
Step 4. 답변을 중요 포인트와 함께 다시 정리한다.
정리하면, const 변수는 선언 시 주소값이 할당되며 주소값 자체는 재할당이 불가능하나, 요소나 속성을 추가하거나 변경하는 행위는 가능합니다.
Step 5. 면접 답변을 녹화하고 스스로 피드백한다.
- 제대로 힘 있게 읽는 것에 집중한다.
- 자신의 시선이나 행동, 자세 등을 모니터링 한다.
면접 질문과 답변의 키워드만 적어놓고 카메라를 보고 답변한다.
- 내가 쓴 글을 직접 보지 않고도 떠올리면 말할 수 있어야 한다.
- 답변의 내용이 100% 떠오르지 않았을 때, 어떻게 자신의 언어로 바꿔서 답변할 수 있는지 고민한다.
- 자신의 시선이나 행동, 자세 등을 모니터링 한다.
면접 질문만 적어놓고 카메라를 보고 답변한다.
- 키워드와 답변 모두 머리에서 입으로 표현할 수 있게 연습한다.
- 답변의 내용이 100% 떠오르지 않았을 때, 어떻게 자신의 언어로 바꿔서 답변할 수 있는지 고민한다.
- 자신의 시선이나 행동, 자세 등을 모니터링 한다.
일반적으로 CSS를 불러오기 위해 <link>
요소를 <head>
요소의 자식 요소로 하고, JavaScript를 불러오기 위해 <script>
요소를 <body>
요소가 끝나기 직전에 위치시키는 이유가 무엇인가요?
<li>
요소는 왜 <ul>
요소의 자식 요소여야만 하나요?
id 속성과 class 속성의 차이에 대해서 설명해주세요.
CSS box model에 대해서 설명해주세요.
간단한 로그인 폼 컴포넌트를 가운데 위치시키려면 CSS를 어떻게 작성해야 하나요? (centering)
간단한 블로그에서 아래와 같은 레이아웃을 구성하려면 CSS를 어떻게 작성해야 하나요?
div.author-container
+--------+------+------+
| 글쓴이 | 빈칸 | 공유 |
+--------+------+------+
스코프에 대해서 설명해주세요.
배열, 객체를 const로 선언했는데 요소나 속성을 추가할 수 있는 이유에 대해서 설명해주세요.
원시 자료형과 참조 자료형에 대해서 설명해주세요.
얕은 복사와 깊은 복사에 대해서 설명해주세요.
innerHTML 메서드와 textContent 메서드의 차이에 대해서 설명해주세요.
event.preventDefault 메서드는 언제, 왜 사용하는지 설명해주세요.