iOS 채용 기본기 테스트 (코테, 과제, 퀴즈면접)

2023-03-19
조회수 1505

기본기 테스트란?

보통 iOS 개발자 채용에 있어서 아래와 같은 과정으로 진행되게 됩니다.

 

채용 프로세스

가장 일반적인 위의 과정인데요.
다른 과정과는 다르게 두 번째 단계는 굉장히 다양한 형태로 회사마다 팀마다 다르게 진행되고 있습니다.

오늘은 이 기본기 테스트에 대한 내용을 작성해보고자 합니다.

기본기 테스트의 목적은 무엇일까?

조직에 따라 크게 2가지의 목적으로 나눠질 수 있을 것 같은데요.
그러나 두가지 모두 본질적으로 이 지원자와 더 깊게 이야기를 해보고 싶은가 아닌가로 나뉩니다.

첫 번째, 지원자가 너무 많은 공채의 경우.
빅테크/대기업 공채기간은 모든 지원자에 대한 꼼꼼한 검토가 어렵기 때문에 가장 간단한 테스트를 통해 1차적으로 선별하려는 목적입니다.
이런 경우 상대적으로 높은 점수나 높은 기준치를 도달한 지원자를 몇 배 수로 뽑아 다음 전형으로 안내를 하게 됩니다.
보통 코딩테스트와 명확히 점수를 줄 수 있는 방식을 선택하게 됩니다.

두 번째, 정말 기본적인 실력을 갖추고 있는가?
채용은 정말 많은 비용이 들어가게 됩니다. 각 회사의 탤런트 팀은 다양한 비용을 지출해 채용 광고에 열을 올리죠.
하지만 채용에 있어서 들어가는 비용은 단순히 마케팅 집행비용만은 아닙니다.
바로 면접을 봐야 하는 실무진들의 시간 역시도 회사 입장에서는 비용이죠.

또 실무자 입장에서도 이력서만 괜찮다고 면접을 모두 본다면 하루종일 면접만 보는 상황이 생길 수도 있습니다.
지금 바쁜 업무가 있음에도 불구하고요.
일단 이력사항에 대해 기본적인 내용들로 검증이 된 후, 지원자를 직접 대면하기 전 기본적인 내용은 갖추고 있는 지원자인가에 대한 테스트를 통해서 면접 시간을 단축하려는 목적이 있습니다.

요즘은 이 기본기 테스트가 크게 3가지 정도의 타입이 있는데요.
코딩 테스트 / 과제 / 퀴즈 면접이 있습니다.

이제 각각 하나씩 알아보도록 하겠습니다.

진부하지만 코딩 테스트


기본적으로 회사 입장에서 굉장히 손쉽게 지원자의 기본기를 확인할 수 있는 방식입니다.
가장 널리 사용되는 방법이기도 합니다.

코딩 테스트 안에서도 몇 가지 종류가 있는데요.

  • Swift 알고리즘 테스트: 특정 문제에 대한 함수 레벨의 코드를 작성해. 모든 테스트 케이스를 효율적으로 통과할 수 있는 것이 목표입니다.
  • CS 관련 테스트: 데드락처럼 프로세스와 관련된 기본적인 CS 문제들을 해결하는 것이 목표입니다.
  • iOS Framework 테스트: iOS Framework의 사용 능력을 평가하기 위해 해당 Framework 사용 방법이나 지식 관련된 문제가 나옵니다.

알고리즘 / CS / iOS 질문이 모두 나오는 경우도 있고 어느 한 가지만 나오는 경우도 있습니다.
모두 짧으면 1시간 30분 - 6시간까지 코딩테스트의 툴과 종류에 따라서 크게 달라집니다.

어떤 코딩 테스트 툴은 자동완성, try 등 다양한 기능을 지원하는 경우도 있지만 어떤 코딩 테스트 툴은 문제가 영어로 나오는 경우도 있죠.
그래서 코딩 테스트는 최대한 다양한 툴을 꾸준히 풀어가면서 준비하는 것이 유일한 방법인 것 같습니다.

또, 코딩 테스트는 경력과도 꽤 연관이 있는데요.
보통 경력 개발자들에게는 조금 더 쉬운 문제가 제공되곤 합니다.
충분히 다른 것들로 검증될 수 있는 레퍼런스나 이력들이 있으는 경우가 이에 해당합니다.

프로그래머스 기준 경력 코테의 경우 보통 2단계나 간혹 3단계가 주워지는데요.
iOS 신입 코딩테스트의 경우는 기본적으로 3단계부터 4단계까지 분별력을 위해 어려운 코딩 테스트 문제들이 제공이 됩니다.

아래는 가장 일반적인 코딩테스트 툴들입니다.

릿코드  프로그래머스 코딜리티

과제

다음은 최근 많이 사용되는 방법 중 하나인 과제형식의 기본기 테스트입니다.

보통은 2일에서 길게는 7일까지 진행을 할 수 있는 테스트입니다.
주워지는 시간 안에 자유롭게 각 기업마다 요구되는 기능을 구현하는 것이 목표입니다.

iOS 채용 과제에서는 보통 과제를 제공하는 회사에서 직접 구현되어 있는 화면의 클론코딩을 요구하는 경우도 있고
정말 간단하게는 Github open api를 사용해 검색화면을 구현하는 등 정말 회사마다 다양한 기능 구현을 요청합니다.

과제의 특징은 정말 실무적인 요소로 평소에 어떻게 코딩 스타일을 가졌고 어떻게 일하는지를 볼 수 있는 기본기 테스트입니다.
단순히 코딩능력뿐만 아니라 아래와 같은 능력을 볼 수도 있습니다.

  • 앱의 전반적인 설계능력
  • 테스트 코드 작성능력
  • Github issue를 사용해 업무관리 능력
  • Git 사용능력

과제의 또 다른 특징이 하나 더 있는데요.
지원자가 회사와 팀에 대해서 더 잘 알 수 있는 과정이기도 합니다.

먼저 과제를 정말 private 한 api나 디자인 가이드까지 제공을 한다면 채용에 있어서 정말 진중한 태도를 지닌 회사라는 증거가 되기도 합니다.
실제로 바쁜 실무 중에 실무진들이 좋은 인재를 확보하기 위해서 그만큼 많은 투자를 하는 회사라는 의미이기도 합니다.
또 과제의 요구사항에 따라서 이 회사는 어떤 기술들을 사용하고 어떻게 일하는지에 대해서 알 수 있습니다.

몇 가지 과제의 요구사항으로 예시를 들어보겠습니다.

"테스트 코드를 필수로 작성해 주세요" -> 실무에서도 테스트 코드를 작성하는 조직.
"Git Flow 전략으로 branch와 commit을 작성해주세요" -> Git Flow를 사용하고 Git 사용능력과 같은 협업 능력을 중요하게 생각하는 조직.
"RxSwift 또는 Combine을 사용해 구현해 주세요" -> 비동기 처리로 RxSwift를 사용하며, 빠르게 업무에 투입되는 인재를 찾는 팀.

위와 같은 요구사항을 통해서 지원한 회사가 간단하게 어떤 문화와 방식으로 일을 하는지 비춰볼 수 있습니다.

30분 전화 퀴즈 면접

해당 방식은 꽤 생소한 내용이 될 수도 있을 것 같은데요.

진행방식은 굉장히 간단합니다.
약 20-30분 정도로 굉장히 약식으로 진행이 됩니다.

빠르게 CS나 iOS 개발에 대한 지식을 단답형으로 이어갑니다.
코딩테스트와 크게 다르지 않은데요.
기본적으로 전화나 화상통화로 진행하기 때문에 굉장히 순발력과 평소 지식이 중요하게 적용되는 형식의 테스트입니다.

또 간단한 신상정보(입사 가능일정, 지원동기)와 같은 내용도 빠르게 대화를 하고 종료됩니다.

이 퀴즈면접과 같은 경우에는 1차 면접에서 더 깊은 지식을 테스트하기 위한 빌드업이 되기도 합니다.
기술 면접에서 기본적인 내용들을 모두 패스하고 바로 깊은 CS나 프레임워크 질문을 할 수 있기 때문이죠.

마무리

이렇게 오늘은 기본적인 채용과정에서 진행되는 3가지 기본기 테스트에 대해서 알아보았습니다.
모든 기본기 테스트는 정말로 지원하는 회사에서 요구하는 "기본기"를 확인하는 목적으로 진행되는 테스트입니다.

동시에 회사에서 어떤 것을 기본으로 중요하게 보는지 알 수 있는 시간이기도 하죠.

끝.

 

왓에버는?

끊임없이 성장하고 인정받는 탑티어 엔지니어가 되고 싶지만
자신의 학습에 대한 방향성과 확신이 필요한 이들에게
왓에버가 탑티어 엔지니어의 멘토링과 코드리뷰를 통해 빠르게 성장할 수 있는 동력을 제공합니다.


왓에버 알아보기