약 3주 전, 모 회사에 서류합격하여 과제 테스트를 응시하였다. 약 이틀간 20시간 정도를 투자하여 꼼꼼히 하고자 노력하였지만, 결과는 만족스럽지 못했다. 과제 피드백이라도 받아서 부족한 점을 개선하자 싶어서 회사 측에 피드백 요청 메일을 전송하였다.
그러자, 무슨 일인지 실무진 인터뷰를 통해 과제 피드백 및 면접 기회를 주겠다고 하여 면접 준비를 하였다.
다가온 면접날, 비대면으로 약 1시간 정도 진행하였다. 과제 테스트 피드백 약 25분, 면접 질문 10분, 추가 질문 시간 20분 정도로 진행하였다.
과제 테스트는 React + TypeScript 로 진행하였는데, 피드백을 받은 부분이 내가 봐도 꼼꼼하게 하지 못하였다는 생각이 들었다.
?.
) 을 런타인 오류를 잡고자 습관적으로 아무 곳에서나 사용한 것as
타입 단언을 사용한 것setState
를 사용하지 않음에도 useState
를 굳이 사용한 이유background-color: ${({ theme }) => theme?.colors?.backgroundColor};
theme
의 타입이 any
로 되어있어 옵셔널체이닝으로 안전하게 접근하려고 했던 것undefined
와 null
의 차이를 명확히 알지 못하고 state
의 유니온 타입으로 선언한 것interface
와 type
선언의 차이점, 장단점을 알지 못한 것lazy-loading
의 CRA환경에서의 의미를 알지 못한 것const
와 let
의 차이를 잘 알지 못하는 것 처럼 보였음 (??)대부분의 내용이 뜻을 모르고 그냥 사용하거나 꼼꼼하지 못했던 것들에 대한 피드백이었다. 다시 돌아보니 뭐가 그렇게 급했던건지 ....
두 가지 다 단어만 들어보고 자세한 내용은 모르고 있었다. 자바스크립트 코어에 대한 지식이 부족하여 책까지 추천 받아 왔다 .. 구매했다 ... 코어 자바스크립트
얇은거 하나 사서 머리에 들어찰 때 까지 n회독 해야겠다 ..
꾸준히 서류를 넣으면서 기본을 다져야 할 것 같다.
타입스크립트를 명확하게 작성한다면 옵셔널체이닝을 사용하지 않아도 된다는 것. 옵셔널체이닝 자체가 타입이 불안정 하다는 것을 반증한다.