부트캠프를 수료하고 약 59일 후...
저는 취업에 매진하게 되었고 드디어 8월 1일, 첫 출근을 하게 되었습니다.
제 목표는 부트캠프 수료 후 3개월 안으로 취업을 하는 것이었고, 다행히 기간내 목표를 달성하여 기뻤습니다.
하지만 사실 취업기간동안 공부를 하고 면접이나 코딩 테스트를 진행하면서 좌절했던 날들이 더 기억에 남네요.
그래서 저도 잊지 않기 위해 기초적으로 많이 물어보는 기술면접 질문들을 정리하게 되었습니다.
웹개발 관련 상식
- 브라우저의 작동 원리
- 웹 스토리지와 쿠키의 차이
- Restful api란?
- GET / POST 메소드 차이
- 웹 서버와 was 서버의 차이는?
React
- 리액트에서 DOM을 선택할 수 있는 훅은?
- CSR이 SSR에 비해 불편한 부분이 있다면?
- CSR / SSR 둘의 차이가 무엇인지?
- SSR의 최대 장점은 무엇이라고 생각하는지?
- Redux나 Recoil 같은 상태관리툴이 왜 필요한가?
- class형 컴포넌트의 생명주기에 대해서 설명할수 있나?
- 리액트에서는 Virtual DOM을 쓰는데 왜 써야하는지?
- 리액트의 불변성이 중요한 이유를 설명해달라.
- 리액트에는 많은 훅들이 있는데, 그 훅을 왜 사용해야하는지?
- 리액트의 Lifecycle(생명주기)에 대해 설명해달라.
- 리액트가 기존 html,css 파일을 직접 다루는것에 비해 어떤 장점을 가지고 있는지?
- state와 props의 차이를 설명해달라.
- 자바스크립트의 변수와 리액트의 state의 차이는 무엇인지?
기타
- jwt 토큰을 로그인 기능에서 사용했는데,왜 사용했는지?
- jwt에 대해 설명해달라.
- jwt 토큰이 사용되는 흐름을 설명해달라.
- 라이브러리와 프레임워크의 차이는?
- 리액트에서 map과 list 메소드를 사용했을때, 두 메소드의 차이를 말해달라.
이 글을 읽는 분들은 여기서 얼마나 잘 답할 수 있으실까요?
저 역시 위 질문 중 제대로 대답한 것이 있고, 모른다고 답한 질문들도 많습니다.
그래도 위처럼 많이 나오는 질문들로 인해 부족했던 지식을 공부하고 제대로 답할 수 있도록 했어요.
사실 지원했던 회사들 중, 서류면접이 통과된 회사는 전체의 30%에 불과했습니다.
이 30%중에서 무사히 면접까지 갔던 회사는 66%였고요.
많은 IT 회사들이 코딩테스트를 진행하는 추세이지만, 운좋게 기술면접과 심층면접만 진행하고도 합격하는 케이스가 있으니 코딩테스트와 기술지식의 기초를 탄탄하게 다지는게 좋은 것 같습니다!
저는 취업하면서 특히 코딩테스트에 약한 모습을 보였는데요,
예상과 같이 코딩테스트를 진행했던 기업의 불합격률은 99%였습니다!!
코딩테스트의 문제를 자세히 기술할 수는 없지만 크게 코딩테스트의 종류를 나누어 보자면
- 온라인 라이브 코딩 테스트
- 과제형 테스트
이 두 종류가 있는데요, 해당 테스트에서 돌아온 피드백들은 보통 "직무에 투입할 수 있을 정도의 실력이 아니라고 판단되었다" 였습니다. 간단히 말해서 실력이 부족하다는 소리겠죠?
하지만 저도 코딩테스트를 마냥 손놓고 있던 것은 아니었기 때문에 이러한 피드백을 들어도 후회는 없었습니다.
아마 저보다 더 실력이 좋은 사람들은 코딩테스트 단계에서 무리없이 통과하리라 생각이 됩니다.
저는 아무래도 회사 경험이 있다 보니 나름 기업에 대한 선택 기준이 확고했습니다.
- 어떤 사업을 하는 회사인가?
- 회사의 시설은 어떤가?
- 면접을 보았을 때, 사람을 보고 느낌이 오는가?
3번의 경우 좀 엉뚱하게도 보일 수 있지만, 회사를 조금이나마 다녀본 사람이라면 같이 일하는 사람과의 시너지를 중요하게 여기게 됩니다. (특히 사람한테 많이 데일수록 더 뼈저리게 느끼실수도..)
특히 면접까지 진행하는 회사라면, 실제로 실무자 혹은 기업의 경영자와 대면할 수 있는 기회를 가지게 되는데요, 사람의 첫인상과 회사의 분위기를 간접적으로 체험할 수 있기에 더욱 "Feel"이란 것에 기댈 수밖에 없습니다.
그래서 저는 1,2번의 조건을 충족해도 3번의 느낌이 오지 않아 입사를 포기했던 적도 있었어요.
이것은 저를 보는 기업도 마찬가지겠죠. 그래서 왜 다들 면접을 소개팅에 비유하는지 알 것 같았습니다.
솔직히 저는 이력서/ 면접/ 코딩테스트 세 단계 중 코딩테스트가 제일 힘들었습니다.
하지만 그럼에도 불구하고 좋은 회사와 연이 닿아서 후기도 쓸 수 있게 되었네요.
그래서 위처럼 저의 경험을 주저리주저리 써놓았지만 역시 취업에서 제일 중요한 것은 기초 지식과 인성, 그리고 운인것 같아요.
이 글을 보는 미래의 개발자분들도 목표를 이루시길 바랍니다!