회고

SW마에스트로 12기 코딩테스트 및 면접 회고

개발하는 크롱 2021. 4. 5. 20:57
반응형

드디어 소프트웨어 마에스트로 12기 선발의 전 과정이 끝났다.

SW마에스트로(이하 소마) 12기를 뽑는 과정은 아래와 같이 이루어 졌다.

참고로 전형별 결과는 바로 다음 금요일에 알려줬다.

 

sw마에스트로 12기 모집 일정 안내

 

  • 2월 18일까지 서류 접수
  • 2월 27일 1차 코딩테스트
  • 3월 13일 2차 코딩테스트
  • 3월 26일 ~ 28일 심층 면접

1. 서류 접수

서류 접수 단계에서는 인적사항, PC활용능력, 자기소개서 등을 제출하게 된다.

자기소개서 문항은 바뀌지 않는 것 같으니 소마에 지원할 계획이 있다면 미리 적어두는 것도 좋을 것 같다.

문항은 다음과 같다.

(*필수) [자기소개1] 소프트웨어분야 전문성을 키우기 위해 남들과 달리 특별한 노력을 한 경험을 서술해 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

(*필수) [자기소개2] 귀하의 장래희망을 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

(*필수) [연수계획1] 귀하께서는 2021년도 「SW마에스트로」 연수과정에서 동료 연수생들과 협력하여 새로운 프로젝트를 완성하여야 합니다. 어떠한 능력을 갖춘 연수생들과 어떠한 프로젝트를 어떻게 수행할 것인지 귀하의 구체적인 계획을 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

(*필수) [연수계획2] 2021년도 「SW마에스트로」 연수 과정에서는 연수생에게 교육지원비, 노트북PC 및 프로젝트 재료비 등을 지원할 예정이며, 본인이 희망하는 온·오프라인 교육과 프로젝트 수행을 도와주는 멘토를 통해 귀하의 SW능력을 향상·발전할 수 있는 기회를 제공하고 있습니다. 앞으로 귀하께서 본 과정을 통해 이루고자 하는 목표가 무엇인지 구체적으로 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

각 문항당 공백 미포함 3000자라는 커다란 압박에 시달렸다. 공백 미포함 만이천자라니. 물론 최소 400자만 적어도 제출은 가능하지만 이런 활동 지원할 때는 최대한 적을 수 있는 만큼 적는 것이 좋다 보니 적는 것이 부담스러웠다. 첫 문항을 굉장히 오래 적었고 마감 날이 다가와서야 나머지 문항을 겨우 적었다.

당연히 각 문항당 3000자씩 꼭 안 채워도 된다. 주변에 합격하신 분들도 보면 짧게 적은 경우(1000자 내외)도 많다. 특히 그냥 양 늘리려고 아무말하는 것은 당연히 추천하지 않는다. 그래도 할 말이 있다면 최대한 풀어내는 것이 좋다. 본인은 문항당 공백 미포함 1500자~2000자 내외로 작성했다. 본인은 서술식으로 적었는데 개조식으로 기술하신 분도 계시더라.

지원서 작성하는 데 꽤 오래 걸리니 미리미리 작성하는 것을 추천드린다.

서류 전형은 제대로 제출만 하면 합격하는 것으로 알고 있다.

2. 1차 코딩테스트

1차 코딩테스트는 알고리즘 문제 6개, SQL 1문제, 웹 1문제로 출제되었다. 응시 시간이 총 2시간이라 8문제를 풀기에는 촉박했다. elice 플랫폼을 사용해 진행되었는데 시험 시작할 때 안 들어가지고, 문제 로딩이 안되는 이슈가 있어서 꽤 당황했다.

일단 첫 문제부터 막혀서 당황했다. 또 다른 문제에서도 범위 처리가 제대로 안돼 무한 루프에 빠졌는데 그거 디버깅하느라 시간을 많이 썼다. 전체적으로 크게 어렵다는 느낌은 아니었는데 막상 풀다보니 '어, 이거 이렇게 하는게 아닌데' 하며 다시 풀어야하는게 조금 있었다. 나오는 알고리즘은 중요한 알고리즘(코테에 많이 나오는 알고리즘) 위주로 나왔는데 한 문제에 여러 알고리즘을 적용해야하는 문제가 많았던 것 같다. 난 생각보다 어려웠다. SQL과 Web은 평이한 수준으로 출제됐다. 특히 웹은 css 질문이었는데 평소에 프론트 개발을 해서 그런지 그냥 점수 주는 문제처럼 느껴졌다. 총 8문제 중에 5문제 풀었는데 채점 결과를 제공해 주지 않기 때문에 얼마나 맞았는지는 모른다.

 

1차 코딩테스트 합격 안내 메일

 

3. 2차 코딩테스트

2차 코딩테스트도 elice 플랫폼을 사용해 이루어졌다. 1차와는 다르게 화면 녹화가 이루어졌고, 인터넷 검색이 안된다는 주의사항이 추가되었다. 2차 코딩테스트는 알고리즘 3문제, 웹 1문제, SQL 1문제였다.

한 문제는 BFS, DFS 등을 이용한 탐색 문제, 한 문제는 완전탐색 문제, 한 문제는 분할정복 문제였다.

시간 복잡도와, 범위를 생각해야 하는 문제가 있었는데 본인은 시험이 끝나고 범위와 시간복잡도를 고려해야하는 문제라는 것을 깨달았다. 문제의 제한 범위 내의 큰 수를 넣었을 때 본인이 푼 방법으로는 시간이 굉장히 오래걸리기 때문에 아마 그 문제는 부분적으로 맞았을 것 같다.

1차 코딩테스트 문제를 응용한 문제가 출제되었다. 전체적인 난이도는 백준 실버 정도 생각하면 될 것 같다.

총 5문제에서 알고리즘 2문제, sql 1문제, 웹 1문제 풀었다. 그런데 알고리즘 한 문제는 상기의 이유로 부분 점수 받았을 것 같고, 웹 한 문제는 다 못 풀었다. 웹 문제에서 요구하는 요구사항 중 하나를 만족시키지 못했다. 프론트엔드 개발한다고 적어두고 틀린 것이 부끄럽고 아무래도 선발에서 큰 감점 요인이 될 것 같아 불안했다. 본인은 개발자 도구를 사용하는 것이 혹시나 부정행위일까 싶어서 사용하지 않았는데 개발자 도구를 사용했다면 금방 풀 수 있었을 것 같다. 다른 분들은 개발자 도구를 사용했다고 들었다.

 

2차 코딩테스트 합격 안내 메일

 

4. 심층 면접

면접 대상자라는 메일을 받고 나서부터 엄청 떨렸다. 이게 뭐라고 일주일 내내 긴장하고 스트레스 받았다. 수능 때도 이렇게 안 떨었다. 그만큼 꼭 붙고 싶었다.

면접 준비 정말 열심히 했다.

  • 지원서 다시 보면서 예상 질문 뽑기
  • 코딩테스트 풀이 준비
  • 각종 블로그에서 소마 면접 기출 질문 수집
  • 면접 예상 질문 리스트 뽑기(cs, 기술, 인성)
  • 예상 질문에 답변 준비

위 프로세스로 면접을 준비했다. 코딩테스트 풀이, 지원서 제외한 기출 질문과 예상 질문 및 답변을 정리한 파일은 40장이 넘었다.

이후 지원자들을 위해 받았던 질문들을 생각나는 대로 복기해보겠다. 면접에서 받는 질문은 피면접자의 관심 기술과 지원서 토대로 이루어지니까 감안하고 보시면 좋을 것 같다. 본인은 프론트엔드 개발한다고 했다. 지원서에 UI와 접근성에 관한 것을 많이 언급했다. 특히 기술 질문은 본인의 주사용 기술에 따라 받는 것 같다.

한 시간 동안 면접이 진행된다. 면접관 5명, 피면접자 5명으로 진행되었다. 면접장이 여러 개 있고 면접관님들이 다 다르기 때문에 분위기도 다르고 받는 질문들도 다를 수 있다.

  • 자기소개 (1분 내외)
    • 반드시 미리 준비해가자.
    • "@@ 소속 누구입니다"를 말하길 원하는 질문이 아니다. 면접에서는 소속을 밝히지 마라고 하시기도 했다. 소마와 관련된 자기 소개와 간단한 지원 동기를 말하는 것을 추천한다.
  • 자신의 기술적 강점이 무엇인지? (경험 위주로)
  • 코딩테스트 질문
    • 열심히 준비해갔는데 본인은 질문 안 받았다. 5명 중 한 분에게만 질문하셨다. 꼬리질문 형태로 계속 질문하셨다.
    • @@문제를 이렇게 풀었는데 기억이 나느냐
    • 왜 이렇게 푼 것인지(풀이법)
    • 반복문을 많이 사용하는데 왜 이렇게 푼 것인지
    • 코드의 효율성을 확인하는 기준이 무엇인지 (답: 시간복잡도, 공간복잡도)
    • 이 풀이의 시간 복잡도는 얼마라고 생각하는지
  • (본인이 받은) 기술질문
    • 정렬 알고리즘에는 어떤 것이 있고, 본인은 그 중 무엇을 사용하는가? 왜 그 알고리즘을 사용하는가?
    • 접근성 관련 정부에서 하는 인증이 있는 것을 아는가? 어떤 것이 있나?
    • http 1.0, 2.0, 3.0의 차이는 무엇인가?
    • 프론트엔드 개발할 때 비동기 방식의 코드는 언제 필요하고, 본인은 개발할 때 어떤 방식을 이용하는가?
    • 개발 방식(방법론)에는 어떤 것이 있는지? (테스트 주도 개발, 도메인 주도 개발 등이 있다고 답했고 테스트 주도 개발 방식이 무엇인지 물어보셨다.)
  • (다른 사람이 받은) 기술질문
    • 자바와 C언어의 차이점
    • 모던 C++의 특징
    • FOUC란?
    • 브라우저 렌더링 과정
    • 디자인 패턴 아는대로
    • 객체지향 설계에 있어 중요한 것
  • 지원서 기반 질문
    • 하고 싶은 프로젝트에서 가장 힘든 지점이 무엇일지?
    • 협업 과정에서 갈등 대처법 (본인 빼고 다 물어보셨다) 
    • 좋은 UI가 어떻게 세상에 도움이 되는지?
    • 접근성을 고려한 개발을 한 경험이 있는지?
    • 하고 싶은 프로젝트가 거의 백엔드 위주인데, 본인은 프론트엔드 개발이 아닌가? 왜 이런 프로젝트를 적었는지?
  • 기타 질문
    • 각자 상황을 물어보고(학업, 병역 등) 소마 과정에 집중할 수 있는지?


일단 기억나는 것은 이 정도다. 생각보다 개인에게 주어진 시간이 없다. 준비도 많이 해갔고, 하고 싶은 말이 정말 많았는데 거의 하지 못했다. 같이 들어간 분들이 발언을 많이 하면 본인에게 주어진 시간이 점점 줄어든다. 우리 면접장은 시간 오버가 되어서 마지막에 급하게 끝냈다. 마지막 발언 기회가 있다면 하고 싶은 말도 준비해갔는데 그럴 기회가 없어서 아쉬웠다. 기술 질문 같은 경우 모르는 건 바로 모른다고 답했다. 시간이 그렇게 길지 않다보니 면접관님들도 짧게 본론만 말하는 것을 선호하셨다. 면접장 분위기는 아주 화기애애한 분위기도 아니고, 그렇다고 압박면접 분위기도 아니다. 꼬리 질문을 계속 받을 때는 좀 무섭긴 했다. 적당한 면접 분위기라고 생각하시면 될 것 같다.

참고로, 면접 가면 교통비 3만원씩 준다. 

개인적으로 면접을 못 봤다고 생각하지는 않았지만 그럼에도 아쉬움이 많이 남았다. 특히 코딩 테스트를 못 본 것에 대해(웹 문제) 꼭 언급하고 싶었으나 그럴 기회가 없어서 떨어지더라도 납득해야지 하며 결과를 기다렸다. 

너무 기쁘게도 합격해서 소마 12기 연수생이 되었다. 열심히 과정을 이수할 것을 다짐해본다!

 

SW마에스트로 최종 합격 안내 메일

 

 

+) 진행했던 소마 프로젝트가 궁금하다면

https://toadhome.tistory.com/

 

맞춤분양: 청약필수앱

 

toadhome.tistory.com

 

https://toadhome.co 

 

필요한 청약정보만 빠르게, 맞춤분양

청약 신청 필수앱. 내가 필요한 모든 분양정보를 빠르게, 청약정보 필터링 앱

toadhome.co

 

앱 설치 링크

https://toadhome.onelink.me/JJLY/68228513

 

반응형