서로의 성장을 위한 피드백입니다.
보완할 점이 있다면 자세하게 작성해주세요 ~.~
특이사항
주천욱 불참

실행컨텍스트 동작과정 (생성, 정의, 사용) 공부하기
피드백
명재 ~ 2:50
면접관 피드백
- 민형
- 이벤트 버블링을 막는 방법
- 하위 컴포넌트의 e.prevenDefault()를 수행하고 상위 컴포넌트에서 e.prevendDefault(boolean) 값을 통해 이벤트 버블링을 막는 방법도 있습니다!
- prototype 관련해서 처음 질문에 있어 좀더 간결하게 답변하시고 꼬리질문에서 길게 답변하셔도 좋을 것 같습니다.
- 수화
- 이벤트 캡처링, 버블링 → 캡처링 다음에 버블링이 일어납니다!
- 이벤트 위임의 장점 → 핸들링 바인딩 수가 줄어서 메모리 관련 장점도 될 듯 (이벤트 버블링을 막으면 안좋구나? 신기)
- 이터러블, 이터레이터 프로토콜 → 공부하자!
- 실행컨텍스트 → js 엔진을 내부적으로 실행하는 실체?? 라고 말했던 거 맞나요?
- 실행컨텍스트가 생성되는 시점이 함수가 선언될 때? 인가요? 호출 아닌가여 ?? 실행컨텍스트 생성하고 콜스택에 들어가지 않나?
- 스코프체인이 어떤 메커니즘인지도 말해주고, 동작원리를 말하면 좋을 거 같습니다. 스코프체인: 식별자 결정 메커니즘
- 스코프가 필요한 이유 → 조금 더 간결하게 정리해주면 좋을 거 같아요. 스코프가 없을 경우, 전역이 오염되고, 이는 ~ 사이드 이펙트가 있기에 이와 같은 문제를 해결하고자 스코프가 존재합니다.
- lexical environment, variable environment → 차이
- 전역 실행컨텍스트, 함수 실행컨텍스트, 모듈 실행컨텍스트 ?? → 이거 차이 정리가 필요해보입니다!
- 다시설명하겠습니다 보다는, 정리할 시간을 가지고 깔끔하게 말해주는 게 좋을 거 같아요! 현재는 질문 듣자마자 대답해주는데, 시간을 가져도 좋을 거 같습니다
수화 ~ 2:20
면접관 피드백
- 명재
- HIT 프로젝트에서 기여도를 25%를 동일하게 참여했나요? 5%의 가산점을 자신에게 줌
- 그렇다면 왜 자신에게 5%의 가산점을 주었나요? → “프로젝트를 이끌어나갔다.” → 근거를 잘 정리해서 면접관이 꼬리 질문할 수 있는 범위가 넓어서 다양한 질문을 할 수 있었다.
- 회고 템플릿을 진행하면서 자신이 발전한 부분 중에 가장 기억에 남는 경혐에 대해서 설명해주세요. → 경험에 대해서는 잘 설명했지만 어떤 부분이 발전했는지 듣지 못한거 같다. (혹시 발전한 부분을 설명했나요? 기억에 남는다면 반박가능)
- 의존도를 낮추기 위해 제네릭을 사용한다는 걸 깨달은 부분 → 상위 컴포넌트에서 하위 컴포넌트의 타입을 호출 시점 또는 jsx에서 사용하는 시점에 확장해서 사용할 수 있다는 부분을 강조해서 설명하면 면접관에게 신선한 경험을 알려 줄 수 있다는 생각이 듬
- 클로져(Closure)에 대해 설명해주세요. → 클로저의 정의와 언제 사용하는지에 대해 간단한 사례도 같이 설명해서 좋았다.
- 생명 주기가 무슨 말인가요? → 호이스팅과 같이 설명하면 더 깔끔하게 정리가 가능하다고 생각함
- React Hook Form을 프로젝트에 사용하게 된 계기가 있나요? → 수동적인 자세가 느껴짐, 팀원의 권유로 사용했지만 비제어컴포넌트라는 특징과 같은 부분을 강조하면서 적극 찬성과 같은 답변하면 좋을듯
- HIT 프로젝트에서 postman 팀 워크스페이스 제안하게된 계기가 어떻게 되나요? → 어떠한 문제점을 찾게 되었고 문제점을 해결하기 위해 이런 제안을 했다는 방법으로 스토리를 풀어가면 면접관이 쉽게 이해할 수 있지 않을까? (그냥 개인적인 의견임…)
- postman 팀 워크스페이스를 사용하면서 얻게된 장점 or 효율성이 있나요? 장점을 나열해봐도 좋을듯하다. (테스트 자동화, 공통화된 변수 사용 가능, etc…)
- 실행 컨텍스트에 대해 설명해주세요. → 두괄식으로 정리 잘했음👍
- this의 의미가 뭔가요? → 호출 관점으로 설명 굳👍
- 민형
- 이터러블, 이터레이터 개념 숙지하면서 좋겠습니다~
- Promise 개념에 있어 콜백 함수(resolve, reject), 3가지 상태(fullfield, rejected, pending) 후속 처리 함수(then, catch, finally)를 구분해서 간결하게 표현 하면 좋을 것 같습니다~
- Promise 단점이 중복되는 스코프 체인 뿐만 아니라 비동기 작업의 순서보장도 큰 문제라고 생각합니다~ 이 문제도 generator 및 async/await가 도입 이유라고 봅니다
- React-Hook-Form의 입력 state를 어디서 관리하는지 알고계시면 좋을 것 같습니다!
- useState로 관리하지 않으면 render 성능 최적화에도 장점이 있다고 어필할 수 있을 것 같아요~
- 저도 이번에 tailwind CSS 라이브러리 도입하는데 장단점을 찾아보다가 tailwind-styled-component 라이브러리 사용하면 tailwind, styled component의 장점을 살리기 때문에 가독성 및 유지/보수 관련한 문제점을 해결 할 수 있을 것 같아요~
민형 ~ 1:30
면접관 피드백
- 명재
- this에 대해 설명해주세요. → 호출에 따라 this의 값이 결정된다는 부분을 강조해서 설명하면 좋겠다.
- call, apply, bind에 대해 설명해주세요. → 메서드 정의는 이해하고 있지만 사용 사례에서 다른 질문과 헷갈렸던거 같다.
- call, apply 메서드가 자주 사용되는 사례가 있나요 → 생성자 함수의 정의와 햇갈린 것 같다. call,apply 메서드를 자주 사용하는 사례로 arguments 프로퍼티와 같은 유사 배열 객체를 배열 내장 메서드를 사용하고 싶은 경우에 사용했다.
- 객체의 중복을 제거하기 위해서 call, apply 메서드를 사용한다고 했는데 call, apply 메서드는 함수 호출이 가장 큰 목적입니다. 그 외에 인수를 통해 this를 명시적으로 설정할 수 있다는 부분을 다시 학습하면 좋겠습니다.
- 콜백 함수에 대해 설명해주세요. → 저도 이 부분은 공부해야 답변을 할 수 있는데 저도 공부해야 겠네요…
- 비동기 함수 외에 콜백 함수를 사용하는 사례가 있나요 → 배열 내장 함수와 같은 답변을 원했는데 원했던 답변을 깔끔하게 잘 정리해서 답변함
- 비동기 함수를 콜백 함수로 구현하면서 발생한 문제와 해결 방법이 있나요? → 두괄식으로 중첩해서 콜백 함수를 사용하게 된다면 콜백 지옥 문제가 발생한다. 그리고 해결 방법은 뭐뭐다 이렇게 설명하면 깔끔하게 정리될 수 있다고 생각이 든다.
- Async, Await이 뭔지 그리고 사용 방법을 설명해주세요. → 깔끔 👍
- 수화
- 자바스크립트 어떤 언어일까? → 싱글스레드 / 객체 기반 (인터프리터,
- 왜 객체기반이라고 생각 ? → 대부분이 객체이기 때문에라는 답변이 조금 설득력이 약한 거 같습니다.
- 자바스크립트 데이터 타입 → 크게 원시형, 참조형 2가지가 있고, 종류료는 ~ 가 있다. 라고 구조적으로 말해주면 좋을 거 같습니다.
- 데이터 타입이 필요한 이유 → 가독성 관련얘기를 잘 해주신 거 같아요! 제가 의도한 건, 데이터가 필요로하는 메모리 크기가 있기에 메모리를 효율적으로 관리할 수 있다! 라는 걸 듣고 싶었습니다.
- 이벤트 버블링, 캡처링
- 이벤트 전파가 왜 일어날까? (저도 궁금해서 물어봤어요)
- 비동기 동작 흐름 → 차분히 잘 말해주신 거 같아요 👍
- 이벤트 루프를 누가 제공해주냐? 저는 브라우저로 알고 있어요!
- 스코프 체인 → 식별자 결정 메커니즘이라고 개념 잘 말해준 거 같고, 원리는 조금 약했던 거 같습니다. 모든 스코프를 바인딩한다? 라는 거는 아니고, 실행컨텍스트의 환경레코드의 outerEnvironmentReference에 의해 상위 스코프로 이동해서 식별자를 결정한다.