원래 22년도에 소프트웨어 마에스트로 활동을 할 계획이였지만, 지인이 지원한다는 소식을 듣고 나도 한 번 연습삼아 해볼까? 하는 마음에 지원했다.
PS 공부를 전역하고 반년 가까이 했었는데, 해당 경험이 많이 도움이 되어 최종적으로 합격하게 되었다.
소프트웨어 마에스트로 코딩 테스트부터 면접까지 경험을 공유하고 앞으로 지원하실 분들에게 도움이 되었으면 한다.
1차 코딩 테스트
1차 코딩 테스트는 알고리즘 6개, SQL 1개, Web 1개, 총 8개의 문제가 출제 되었으며 시간은 두시간이 주어졌다.
알고리즘 난이도는 백준 기준 실버 5 ~ 실버 1 정도로 느껴졌으며, SQL은 프로그래머스 SQL 기출 문제를 풀면 충분한 정도, Web은 CSS에 이해가 있으면 풀 수 있는 문제였다.
필자는 웹, SQL을 먼저 풀고 알고리즘을 먼저 풀었으며 시간이 부족하여 한 문제를 못풀고 다른 문제는 모두 풀긴 했었다.
다익스트라
, 유니온 파인드
, DP
위주로 준비를 했었는데 출제는 대부분 스택
, 해시
의 비중이 높았던 것으로 기억한다.
2차 코딩 테스트
2차 코딩 테스트는 1차와 다르게 알고리즘 3개, SQL 1개, Web 1개가 출제 되었으며 시간은 동일하였다.
알고리즘은 백준 기준 실버 2 ~ 골드 3 정도라 느껴졌으며, Web은 JS로 DOM을 조작하는 이해가 있으면 풀 수 있는 문제였다.
SQL 문제는 필자는 어떻게 써야할 지 모르겠어서 못풀었다 ...
대신 알고리즘 3 문제 모두를 풀긴 하였는데, 유형은 백트래킹
, 그래프 탐색
이였던 것으로 기억한다.
문제 수가 줄어들어 1차에 비해 시간적 여유가 있어서, 문제를 효율적으로 풀기 위해 고민하였다.
문제를 다 풀고 나서야 떠올랐지만....
심층 면접
면접은 다대다로 진행되었다.
다른 면접자분들에겐 인성 면의 비율이 조금 더 높았다면, 필자는 대부분이 기술 면접 질문이였다.
기억에 남는 질문은 FOUC란? 해결한 방법은?
과 React의 CBC, FBC의 차이
이다.
FOUC의 뜻은 솔직히 모른다고 답변드렸고, FOUC를 해결하기 위해서 React-Transition-Group을 사용하였다고 답변드렸다. 지금까지도 정확한 정답인 지는 모르겠지만, 필자의 경우 route 이동 간 자연스러움을 위해 해당 패키지를 사용한 기억이 떠올라 답변했었다.
CBC와 FBC는 현재 트렌드가 FBC이며, 이점은 간결해지는 코드라고 답변드림과 동시에 Presenter-Container
패턴을 사용하여 컨테이너는 CBC로, 프레젠터는 FBC로 작성한다고 말씀드렸다.
대부분의 질문은 자소서에 있는 내용을 기반으로 출제되었다. 면접을 잘보고 싶으신 분들은 솔직하게 자소서를 작성하고, 자소서를 읽고 궁금할만한 점을 생각해보면 매우 좋을 것 같다.
프로젝트는 최소 한, 두 개만 진행한 경험이 있으면 충분할 것 같다. 자소서에 적을 내용은 물론, 해당 프로젝트에서 무엇을 배웠는 지 면접에서까지 어필 할 수 있기 때문이다.
마치며
소프트웨어 마에스트로 활동은 IT 기기 지원비, 멘토링, 매달 입금되는 지원비, 다양한 협업의 기회 등 이력외에도 다양한 장점이 있기 때문에 대학생, 빠르면 고등학생까지 개발자를 희망한다면 한 번쯤은 지원하고 연수하면 좋을 과정이라고 생각한다.
정리
- 자소서는 솔직하게
- 알고리즘은 기본기를 튼튼하게
- 웹은 기본적인 난이도