
23년에 처음 알게된 뒤부터 정말 하고 싶었던 SW 마에스트로에 합격했다. 이번에 SW 마에스트로를 준비하면서 기록해두는 게 많이 도움이 된다고 느꼈고, 나 또한 다른 합격 후기를 통해 도움을 많이 받았기에 합격 후기에 대해 공유해보려고 한다.
서류
사실 SW 마에스트로에서 서류에서 탈락하는 경우는 거의 없다고 알고있어서 막연하게 작성했던 것 같다.
항목 중 "어떠한 프로젝트를 수행하고 싶은지, 이를 위한 계획과 목표"에 대해 작성하는 부분이 있었는데, 당시 하고 싶은 아이디어가 생각나지 않아 아이디어를 적은 것이 아니라, 어떤 식으로 프로젝트를 진행할 지 전반적인 나의 계획을 작성했다. 나중에 심층 면접 때 면접관님이 이렇게 적은 사람은 본 적이 없는 것 같다고 의아해하셨어서 다시 돌아간다면, 대단하지 않은 아이디어라도 적어볼 것 같다. 이 부분덕에 눈에 띄었던 것 같기도 한데 좋은 쪽인지는 잘 모르겠다..ㅎㅎ
1차 코딩테스트
나는 SW 중심대학 학교 추천서를 받아 1차 코딩테스트가 면제되었다.
당시에 다른 일정들로 코테 공부할 시간이 없어, 지금 생각해보면 좋은 전략이었던 것 같다.
2차 코딩테스트 준비

사실 나는 작년에 SW 마에스트로에 지원하고 떨어졌었다. 25년 초 스트릭이 작년 코딩테스트를 준비한 흔적들이다. 그 이후로 PS보다는 프로젝트에 집중했었고, 이번에는 2차 코테 2주 전부터 예전 문제풀이 감만 살려보자는 생각으로 공부했다.
소마 코테는 알고리즘 4문제와 SQL 1문제가 출제되고 시험은 프로그래머스에서 진행된다. 항상 Visual Studio Community에서 자동완성 기능의 도움을 받으며 PS를 해왔던 나는 작년에 1차 코딩테스트에서 map 사용법이 생각이 안나 좌절했었고, 이런 일을 막고자 백준을 풀 때는 IDE의 자동완성 기능을 아예 끄고 문제를 풀었고 이게 꽤나 도움이 되었던 것 같다. 1주일 전부터는 프로그래머스를 위주로 풀었고, Leet Code로 SQL도 세네문제 정도 풀어보았다.
https://github.com/bumsoft/Algorithm
GitHub - bumsoft/Algorithm: This is an auto-push repository for Online Judge solutions.
This is an auto-push repository for Online Judge solutions. - bumsoft/Algorithm
github.com
해당 repo의 2~3월에 푼 문제들이 이번에 풀었던 문제들이다. 그래프, BFS/DFS, DP를 위주로 풀었다. SQL은 사실 포기하자는 생각이 조금 들었어서 3일 전부터 풀기 시작했고 프로그래머스 대장균 문제까지는 풀 수 있을 정도였다.
2차 코딩테스트
Q1. (Silver2) 구현 + 약간의 최적화가 필요한 브루트포스
격자에서 특정 위치에 값을 추가했을 때 전체 점수 변화를 계산하는 문제였다.
매번 전체를 다시 계산하지 않고, 인근 점수만 비교하는 최적화가 필요했다.
Q2. (Silver2) DP
문제를 보자마자 점화식이 떠올라 10분내로 풀 수 있었다.
상태가 2개인 선형 DP문제였고, 현재 선택의 결과가 직전 선택에 의해서만 결정되는 구조라 매 턴마다 두 가지 선택 중 최적을 고르면 되는 문제였다.
Q3. (Gold4~3) PQ + BFS
트리 구조에서 각 노드에 작업 가능 시점이 주어지고, 부모 작업이 완료되어야 자식 작업이 가능했다. 모든 노드를 처리하는 최소 시간을 구해야하는 문제였고, PQ를 사용한 BFS로 풀었다.
Q4. 시간이 없어 문제를 못읽었다. 난이도는 3번과 비슷했다는 것 같다.
Q5. SQL (Lv.5 이상...)
with절과 각종 join, 서브쿼리, 윈도우 함수 등 SQL의 웬만한 함수나 문법을 알아야 풀 수 있는 문제였다. 내 풀이에 확신은 없어 0.5솔이었던 것 같다.

이렇게 3~3.5솔로 마무리했고 2차에 합격할 수 있었다. 2솔이 합격선이었던 것 같다.
사실 처음 1시간을 SQL에 사용해서 탈락하겠구나 싶은 생각으로 나머지를 풀었다. 다행히 2번과 3번이 바로 풀렸고, 남은 30분은 1번을 푸는데 사용했다.
심층면접
2차 코딩테스트를 통과하면, 포트폴리오를 제출해야한다. 제출한 포트폴리오로 3분 발표를 해야하기에 핵심만 담아 작성했다.
제공된 양식에 맞출 필요는 없지만 3분안에 발표하기 위한 최적으로 구성된 것 같아 양식을 거의 그대로 사용했다.
(당시에 피드백을 주셨던 오픈채팅방 소마 선배님들과 면접스터디원분들, 제 알고리즘 멘토님, 학교 동기분들께 감사드립니다.)
포트폴리오 발표의 경우, 내가 포트폴리오를 마우스로 조작하면서 진행할 수 있다.
대본 없이 그냥 무엇을 말해야겠다고 큰 틀만 잡은 뒤 수시로 혼자 발표해보며 연습했다. 시간이 짧다보니, 기술스택이나 수상 등은 아예 언급하지 않고 프로젝트에서 내가 강조하고 싶은 부분만 언급하며 넘어갔다.
예상 질문의 경우, 주로 GPT와 Gemini로 뽑아서 대비하고, 내가 당시에 왜 이 기술을 선택했는지에 대답할 수 있도록 준비했다.
실제 면접을 보러 가니, 1번을 배정받아 가장 먼저 발표를 하고, 질문도 1번인 내가 가장 먼저 대답하게 되었다..ㅎㅎㅎ 포트폴리오와 기술 질문의 경우에는 자신이 있었지만, 공통질문 같은 경우는 사실 대비가 하나도 되어있지않았고, 생각할 시간도 아예 없다보니, 괜히 횡설수설 말하게 되는 것보다는 짧게 답변해야겠다는 마음으로 간결하게 대답했다.
- S3 Presigned URL의 장단점 : 클라이언트가 서버를 경유하지 않고 업로드하기에 서버의 트래픽이나 리소스, I/O 부분에서 이점이 있고, 파일의 검증이 필요하거나 보안이 중요한 경우 추가적인 절차가 필요하다는 단점이 있다고 답변했다.
- 무중단 배포의 종류에 대해 설명 : 블로그 글을 보시고 질문을 주셨다. Blue-Green, Rolling, Canary에 대해 간단하게 설명했다.
포폴/기술 질문 2개를 제외하고는 모두 공통질문이었다.
- 프롬프트 엔지니어링에 대한 나의 팁
- 팀원이 모두 백엔드라면, 프론트 작업은 어떻게 할 것인지
- 팀원간 목표(취/창업 등)가 다른 경우 어떻게 할 것인지
- 등등...
생각할 시간이 없다보니 머리속에 떠오르는 걸 바로바로 뱉었다. 뒤에 다른 지원자분이 답변하시는 걸 보고, 이렇게 말할 걸 하고 후회도 되었지만, 차라리 1번이라서 깊게 생각하지 않아도 되어 좋았던 것 같다.
면접 중후반 쯤 되니, 기술적인 얘기를 하는 것이 재밌어서 기술질문이 들어오기를 기대했지만 모두 공통질문만 들어와서 아쉽기도 했다.
당시에 제출했던 포트폴리오다. 부끄럽지만, 소마를 준비하시는 분들에게 도움이 되었으면 좋겠다.
https://whip-heath-3ad.notion.site/SW-Maestro-547393e3cee482d086fa81970ba41655?source=copy_link
SW Maestro : 신진범 포트폴리오 | Notion
1️⃣ Backend Engineer
whip-heath-3ad.notion.site