레벨1 - 인터뷰

🚀 레벨 인터뷰란?

레벨 인텨뷰는 해당 레벨의 모든 미션이 끝난 뒤, 6명의 페어끼리 뭉쳐 코치 한 분이랑 함께 해당 레벨에 배운 개념을 인터뷰를 통해 되돌아 볼 수 있는 하나의 과제이다.

레벨 인터뷰의 목표는 다음과 같다.

  • 학습한 내용에 대한 자신의 현재 상태를 파악한다.

  • 자신이 알고 있는 지식을 말로 표현한다.

  • 현재 자신의 학습 상태에 대한 메타인지를 기른다.

위와 같은 목표를 도달 하기 위해 크루들은 각자 레벨 로그를 작성하여 이를 같은 조 크루들에게 공유를 해야 한다.


📝 레벨 로그

레벨 로그는 A4용지 한 장 분량으로 작성을 해야 한다. 다음은 내가 구글 Docs를 이용하면 작성한 레벨 로그이다.

레벨 1 레벨 로그

각 미션에 대해 무엇을 배웠는지 키워드 중심으로 정리를 하였다. 더 많은 내용이 있었지만, 분량 제한으로 인해 최대한 압축하여 정리하였다. 물론 그 중, 완벽하게 학습을 하지 않은 부분도 있었다. 이런 부분을 레벨 인터뷰를 통해 스스로 파악할 수 있었다.

우테코 LMS에는 미션 소개와 더불어 학습 목표 그리고 해당 미션을 통해 학습해야 할 여러가지 개념이 정리되어 있다. 이를 다시 읽고 정리하면서 키워드를 정리하였는데, 무려 30개가 넘었다. TIL에 정리한 내용도 있으며 LMS만 읽고 넘어간 부분도 있다. 우테코 기간 내 꼭 정리 하는 것을 목표로 하고 있다. 방학 기간에도 틈틈히 정리하자.


🎤 인터뷰 과정

내 인터뷰어는 코난, 쿠마, 쵸파였다. 추가적으로 공원도 레벨 인터뷰에 참여하여 질문도 하고 함께 회고도 진행하였다. 며칠이 지난 지금 모든 질문이 정확히 기억은 나지 않지만 기억을 떠올르며 키워드 중심으로 정리해본다.

클로저

첫 질문은 클로저로 기억한다. '클로저에 대해 설명해주세요.'라는 질문을 받았을 때, 미리 준비해둔 문장을 말했다. 바로 MDN에 적혀있는 문자이었다.

클로저란 함수와 해당 함수의 렉시컬 환경입니다.

너무 간단한다🫣 딱 위의 내용을 말하고 잠깐의 정적이 흘렀다. 정적을 깨기 위해 부연 설명을 시작하였다. 외부 함수와 내부 함수 그리고 생명 주기에 대한 부연 설명을 진행하였다.

머리속으론 클로저의 구조가 그려지는데, 이를 말로 설명하자니 힘든 점이 있었다. 외부 함수에서 클로저를 반환, 그리고 전역 환경에서 클로저를 참조하는 과정을 다시 나만의 언어로 정리를 해야 할 필요성을 느꼈다. 혹은 화이트 보드를 사용하여 설명을 했다면 더 좋았지 않았을까? 하는 아쉬움이 남았다.

이후에 클로저를 미션에서 사용한 경험에 대한 질문이 들어왔다. 잠깐 생각해 본 결과, 클로저를 실제 미션에서 사용한 적을 없었기 때문에 간단하게 '없습니다.'라고만 대답을 하였다. 지금 생각해보니 너무 단답으로만 대답을 해서 인터뷰어들에게 당황을 주었던 거 같다. 미션에서 사용하지 않더라도, 어떤 상황에서 사용하는지에 대한 설명을 했더라면 더욱 좋았을 것 같다.

동기와 비동기 그리고 비동기 처리

'동기와 비동기에 대해 설명하세요.'

평소에 이 둘의 차이에 대해 혼란을 겪었다. 동기라고 하면 '같은 때(시간)에 하는 동작'으로 이해하고 있다. 그렇다면 실생활에서 예를 들자면 다음과 같은 상황이 동기라고 할 수 있다.

  • 전자레인지에 컵밥을 돌리는 동시에 옷 정리를 한다.

하지만 결론부터 말하자면 위와 같은 상황은 동기가 아니라 비동기이다. 이러한 내가 겪었던 혼란스러운 상황을 먼저 이야기를 하였다. 하지만 이는 좋은 방법이 아니었다고 생각한다. 오히려 인터뷰어들에게 더 많은 혼란을 주었을 뿐이다.

동기, 비동기에 대한 개념을 잘 정리해서 말을 했어야 했다고 생각한다. 이후의 대답은 횡성수설로 일관했다고 할 수 있다. 왜 횡성수설 했을까? 아직 동기, 비동기에 대한 개념 정리가 잘 되지 않았기 때문이다. 그저 정리하는 것이 아니라 나의 언어로 표현하고 누군가에게 설명하여 내 것으로 체득하자.(맨날 말만 이렇게 한다.... 도대체 언제 내 것으로 만들것이냐?)

그 이후의 질문은 비동기 처리에 대한 것이었다. 콜백함수, 프로미스, async/await을 이야기 하였고 콜백함수에 대한 추가 질문이 들어왔다. 콜백함수를 사용하는 것은 알고 있다. 하지만, 콜백함수의 사용법을 어떻게 설명하냐는 다른 문제였다. '함수를 실행한 뒤 실행되는 함수' 많이 부족하다.

미션에서 활용한 예시에 대해서도 어떠한 이유인지 몰라도 대답을 잘 하지 못했다. 분명 이벤트 리스너, 배열의 고차 함수에 대한 콜백 함수를 작성했음에도 이에 대해 대답을 잘 하지 못하였다.

확실히 레벨 인터뷰를 통해 내가 부족한 점이 무엇인지 알 수 있다.

박스 모델

'박스 모델에 대해 설명하세요.'

처음엔 엉뚱한 답변을 하였다. flex, grid에 대해 설명을 하였다. 내 머리속엔 무엇이 있는건가...? 심지어 flex, grid에 대한 설명을 display 속성에 대해서만 이야기하였다. 가로축, 세로축에 대한 이야기도 했던 것으로 기억하는데 아마도 제대로 된 설명이 아니였을 것이라 확신한다.

내가 엉뚱한 답변을 해서 그런지 공원이 박스 모델에 대해 생각을 하고 나서 재설명을 요구했다. 그때, 이전에 설명했던 것은 박스 모델이 아니라 엉뚱한 답변이었다는 것을 깨달았다. 잠깐의 시간을 가진 후 content, padding, border, margin에 대해 설명함으로써 박스 모델에 대한 설명을 마무리하였다.

식음땀이 나는 순간이었다.😓

타입스크립트의 내장 타입

'미션에서 사용한 타입스크립트의 내장 타입이 있다면 설명하세요.'

해당 질문을 받고 바로 떠오르는 타입은 Partial였다. 해당 타입은 객체의 속성을 옵션널한 값으로 바꾸는 데 사용되는 타입이다. 이를 설명하였다.

이후 따라오는 질문은 '타입스크립트에서 중복을 제거할 수 있는 방법'에 대한 내용이었다. 이는 레벨 로그에 정리한 내용이었다. 세가지가 있었는데 그 당시 생각나는 것은 두가지 뿐이었다. 인덱싱과 매핑된 타입이었다. Pick이라는 내장 타입도 있다!

매핑된 타입에 대해 부연 설명을 이어갔다. 배열 메서드 중 map 메서드와 연관지어 이해를 하고 있기 때문에 반복문을 통해 새로운 키를 만드는 것으로 설명을 하였다.

레벨1를 통틀어 가장 눈에 띄게 향상된 부분이 타입스크립트라고 생각한다. 때문에 다른 질문에 비해 자신있게 대답을 했었다.

화살표 함수와 일반 함수

'화살표 함수와 일반 함수이 차이점에 대해 설명하세요.'

이에 대한 나의 답변은 어처구니가 없었다.😭 화살표 함수와 일반 함수의 차이가 아니라 함수 선언식과 함수 표현식에 대한 설명을 하고 있었다. 호이스팅은 어떠니, 선언전 참조는 어떠니 하는 설명을 하였다.

이와 같은 대답을 한 이유는 화살표 함수와 일반 함수의 차이에 대해 명확히 몰랐기 때문이다. 그래서 함수에 대해 알고 있는 개념에 대해 설명을 하였다.

인터뷰어의 입장에서 생각을 해보면 원하는 대답이 아니었을 것이다. 그 둘의 차이 중 하나인 this에 대한 설명을 원했을 것이다. 하지만, 잘 모르기 때문에 설명을 할 엄두도 나지 않았다.

부족한 것이 많다고 느낀 질문이었다. 멋진 기술이 아니라 자바스크립트의 기본적인 내용부터 차근차근 학습해 볼 필요가 있다. 💪


🛠️ 레벨 인터뷰에 대한 피드백

레벨 인터뷰가 끝나고 크루들, 공원에게 피드백을 받았다. 아래는 해당 내용을 정리한 것이다.

👍 잘한 점

학습 측면

  • 동기와 비동기에 대한 이해

  • 근거가 있는 설명

  • ts관련한 학습이 잘 되어 있음

  • 모르는 것을 제외한 부연 설명(단점이 될 수 있음)

  • 자신만의 언어로 정리

말하기 측변

  • 강조할 단어에서 딱 잘라 말함

  • 아이컨택

  • 의식적으로 '어', '음' 단어 사용하지 않음

  • 모르는 부분에 대한 질문

  • 시전처리

  • 경청 후 답변

  • 자신만의 언어로 정리

  • 모르는 내용이 있어도 당황하지 않고 설명하려고 노력

  • 듣기 좋은 톤, 전달력이 있는 톤

👎 부족한 점

학습 측면

  • 클로저의 활용 사례

  • 클로저 같은 경우 꼬리 질문에 대한 대비

  • 키워드에 대한 추가적인 설명 부족

  • 화살표 함수에 대한 설명 부족

  • 콜백함수에 대한 예시 설명 부족(이벤트 리스너를 예시로 했으면 좋았을 것이다.)

  • 비동치 처리에 대한 예시 설명 부족

  • 동기, 비동기에 대한 설명 부족

  • this에 대한 설명 부족

말하기 측면

  • 제스처를 사용하지 않음

  • 말끝을 흐림

  • 화이트보드를 활용하지 않음

  • 단답이 많음

  • 두괄식 답변보다는 상세한 답변이 필요

  • 꼬리 질문에 대한 경계가 느껴짐

  • 말의 속도가 느림, 설명이 늘어지는 느낌이 듬

  • 질문의 의도에 벗어난 답변

  • 예시를 들 때, 이론적이 측면이 아니라 실제 사례 활용

  • 확신하지 않을 때, 말끝을 흐림

  • 준비된 질문과 준비되지 않는 질문의 격차가 느껴짐

  • 정리한 내용이 있다보니 그것을 말하려는 것 처럼 느껴짐

  • 설명을 할 때, 부연 설명을 더 붙였으면 좋겠음


🎯 레벨 인터뷰 전체 회고

레벨1 마지막 미션인 영화 리뷰의 최종 피드백을 제출하고 바로 레벨 로그를 작성하기 시작하였다. 레벨 로그는 레벨1 기간 동안 공부한 내용을 바탕으로 요약하는 것이기 때문에 오래 걸리지 않았다. 또한 레벨 인터뷰 요일이 목요일이기 때문에 하루라는 준비기간이 있어 그때 까지만 해도 레벨 인터뷰에 대한 부담감은 없었다고 말하고 싶다.

수요일에는 집에서 레벨 인터뷰를 준비하였다. 준비하는 과정에서 부족했다고 생각하는 실행 컨텍스트에 대해 집중적으로 학습을 하였다. 그날은 실행 컨텍스트를 공부하느라 모든 시간을 사용했다. 때문에 실행 컨텍스트에 대한 자신감이 붙었고 더불어 호이스팅에 대해서도 학습하여 이에 대한 질문의 대답을 준비하였다.

레벨 인터뷰 당일인 목요일, 내 차례는 다섯번째이다. 마지막 전이기 때문에 내 차례가 오기 전까지는 많은 시간이 있었다. 같은 조 크루들의 인터뷰에서 인터뷰어의 역할을 하며 질문하는 재미에 빠져있었다. 질문을 통해 내가 몰랐던 부분을 크루의 인터뷰를 통해 학습할 수 있어서 좋은 경험이었다.

하지만 점점... 내 차례가 다가오고 있었다. 최대한 떨지 않고 있다고 스스로 마인드 컨트롤을 하면서 차례를 기다렸다. 쵸파의 인터뷰가 끝나고 5분간 휴식을 가졌다. 이후 내 차례가 되었기 때문에 인터뷰이의 자리에 앉아서 인터뷰가 시작하길 기다렸다. 그때만 해도 괜찮았지만 첫 질문이 들어오고 횡성수설하는 순간 긴장감은 배로 몰려왔다.

원하는 답변을 잘 하지 못해 긴장감은 더욱 더해져만 갔고 다음에 어떤 질문이 올까 하는 두려움 마음이 커져만 갔다. 최대한 현재의 질문에 집중하려 노력하였다. 모르는 것이 있다면 당당하게 모른다고 하였고 내가 학습한 키워드와 비슷한 질문이 들어오면 학습한 내용을 잘 정리해서 설명하기 위해 노력하였다. 하지만 이는 그다지 좋은 답변이 되지 못하였다. 인터뷰어가 원하는 답변과 거리가 멀기 때문에 인터뷰어에게 당혹감을 줄 수 있기 때문이다.

그렇게 30분의 시간이 흘러 내 인터뷰 시간이 지났다. 땀도 흘리고 제스처도 엉망이었다. 이게 만약 실제 면접이었다면 어땠을까? 라는 생각을 하였다. 생각만 했을 뿐인데 끔찍하다.🥶 때문에 레벨 인터뷰가 취업을 준비할 때, 기업 면접에서 할 수 있는 실수를 미리 파악하고 나의 단점을 보안하고 나의 장점을 키우는 좋은 기회라 생각한다.

돌이켜 생각해보면 레벨 인터뷰에서 다룰 내용은 정해져 있었다. 방대하다고 하면 방대할 수 있는 양이지만 레벨1 기간 동안 꾸준히 학습을 했다면 모두 소화가능한 양이지 않았을까? 이전부터 코치들이 항상 이야기하는 것이 있었다. 미션 목표에 집중하라고, LMS에서 학습 키워드를 가져와도 충분한 양이 될 것이라고... 틀린 말이 하나도 없다. 비록 레벨1에서는 모든 내용을 완벽하게 소화하진 못했지만 레벨2에서는 레벨1보다 더 성장하도록 하자. 사실 완벽하다는 것은 불가능이지만 레벨1보단 더 성장한 모습을 보여주자.

말하기 연습도 필요하다. 때문에 코난과 레벨2에서 스터디를 하나 계획중이다. 레벨 인터뷰에서 경험한 것을 바탕으로 말하기 스더티이다. 면접 스터디라고도 생각들지만 일단은 말하는 것부터 먼저 연습을 해야 할 듯 하다! 면접 스터디는 레벨 4,5에서도 충분히 많이 하지 않을까?

오늘의 결론은 다음과 같다. 영화 미션이 끝나고 모든 미션이 마무리 되었다고 생각했지만 레벨 인터뷰라는 최종 보스가 남아있었다


📅 2023-04-04

Last updated