상세 컨텐츠

본문 제목

[취준] iOS 신입 개발자 코딩테스트 보는 꿀팁

개발썰

by Mr.Garlic 2022. 7. 2. 03:23

본문

비전공자 + 문과 + 개발 6개월 = 코테 합격 가능!?

와 다풀었다! 근데 다른 사람들은 1줄에 풀었네,,? T^T

안녕하세요 이웃님들

오늘은 iOS 신입으로 구직활동을 하면서 코딩테스트를 응시했던 경험을 나눠보려고 합니다!

위에도 언급했듯이 저는 비전공자고, 문과출신이고, 개발경력은 6~9개월 정도입니다. 

기존 포스팅에서는 제가 코딩테스트에 자신이 없고 과제 전형을 선호한다고 언급했었는데요.

지금은 오히려 코딩테스트를 선호하게 되었어요! 속전속결!

그래서 공부했던 방법과 iOS 개발자에게 요구하는 코딩테스트의 일반적인(?) 수준에 대해서 이야기를 해보려고 해요.

 

참고하실 사항은 저는 천상계 개발자도 아니고, 엄청 똑똑한(?) 천재 개발자랑은 거리가 먼 사람입니다.

걍 말하는 감자 정도?입니다.

 

지원했던 회사들

카카* 계열사, 코인거래소, 커머스플랫폼 회사, 배달 플랫폼 회사 등 다양한 도메인의 iOS 주니어 개발자로 지원을 했습니다. 보통 서류가 아주 나쁘지만 않으면(?) 코딩 테스트가 있는 전형의 회사들은 대부분 코테는 응시하게 해줍니다. 그래서 코딩테스트를 여러군데 볼 수 있었습니다. 보통 2-3문제에서 많게는 5-6개까지 주는 경우도 있었어요. 응시시간도 3문제 1시간인곳도 있고, 2문제 180분을 주는 곳도 있습니다. 진짜 다~~~ 너무너무 다른데 공통점도 있었습니다. 다 풀고 테스트 케이스 통과를 해도 풀이 자체가 구렸는지 떨어지는 곳도 있었고, 3문제중에 1.5개 정도만 맞았는데 다음 전형으로 갈 수 있었던 케이스도 있습니다. 근데 대체로 다 푸는걸 목표로 해야하는 것 같긴 합니다. 커머스플랫폼 코테에서는 주관식 문제, 주어진 코드를 보완해서 기능 구현하는 문제도 있었습니다. 

 

iOS 개발자 코딩테스트 문제의 수준

3중 for문을 써서라도 풀 수 있습니다. 피라미드 그려서 푸는 이 학생처럼...

iOS 개발자를 뽑을때 코딩테스트를 보는 이유가 무엇일까요. 잘은 모르겠지만 아마 기본적인 컴퓨팅적 사고가 가능한지를 보는 것 같습니다. 그래서 아주아주 난해하고 올림피아드 문제같은 경우 보다는 평이하고, 특정 알고리즘을 잘 몰라도 생각해서 풀 수 있는 문제가 많은 것 같습니다. 그래서 당장 전투용으로 코딩테스트를 준비하신다면, 그리고 네카라쿠배당토가 아니라면..! 그리디, 정렬, DFS, BFS정도만 훑어보고 문제를 막 풀면 3개가 나오면 2개 정도는 무조건 풀 수 있도록 출제가 되는 것 같습니다. 

다들 잘 풀면 뭘로 합불이 나뉠까

코딩테스트 합격하고 나서 면접때 코테 문제에 대해서 질문을 보통 주시는데요. 그때 보면 테스트 케이스는 통과했더라도 더 간결하고 좋은 알고리즘을 제시해주시는 경우가 많습니다. 쉬운 문제를 풀게 되는 경우, 시간복잡도, 공간복잡도를 어떻게 하면 줄일지에 대해서 고민을 많이 한 풀이를 기대하시는 것 같습니다! 당연한 말이긴 합니다. 

 

언어 선택

저는 기존에 파이썬으로 알고리즘을 시작했었는데요, iOS 개발 공부를 시작하고 나서 부터는 불편함이 있더라도 무조건 Swift로 문제를 풀었습니다. 보통 C++이나 java정도는 선택할 수 있는 것 같긴 하지만 모든 시험이 언어 선택지를 주는 것이 아니고, 최근에는 대부분 Swift로 풀도록 권장하는 것 같습니다. iOS 개발자로 취업을 생각하신다면 Swift로 문제를 푸는 연습을 많이 해두시면 좋을 것 같습니다!

 

물론 Swift가 알고리즘 문제를 풀때 박터지는 부분도 있지만... String을 다루는 부분이나 Stack이 따로 없는 부분 같은 약점만 잘 보완을 하면 속도도 빠르고 파이썬이랑 비슷해서 편한 부분도 많으실겁니다! Swift 짱짱맨!

 

공부 방법

저는 정도대로 공부한게 아니고 취준을 하면서 2달동안 준비한거라서 대단한 공부를 한 것은 없지만, 책을 하나 보고 코테 응시를 많이 했습니다. 책은 나동빈의 이것이 코딩테스트다 를 챕터 순서대로 공부했고, 파이썬으로 되어있는 책이기 때문에 Swift로 먼저 풀어보고 답안과 비교하면서 공부했습니다. 챕터별로 예제가 3개정도 되는데 책을 다 보고 나면 어쨋든 프로그래머스에 있는 1단계 문제정도는 풀 수 있게 됩니다. 

 

저는 사실 프로그래머스 1~2단계 문제를 다 풀고 응시한게 아니고 책 보고 공부한 뒤, 선 코테 후 공부를 했습니다. 갑자기 취준을 다시 하게 됐기 때문에 마음적으로 바빴던 것도 크고, 실전에서 급박하게(?) 고민을 하다보면 집중력이 좋아져서 그 다음에 비슷한 유형을 만나게 되면 생각이 잘 나는 장점이 있었습니다. 그런데 이 방법의 단점은 일단 한번 지원하고 코테에서 떨어지면 적어도 6개월 정도 뒤에 재지원이 가능하기 때문에 초반에 마구마구 코테를 봐버리면 실력이 단기간에 올라와도 재지원이 어렵기 때문에 그 회사는 거의 빠이빠이 하게 된다는 점입니다. 

 

저처럼 후드리챱챱 빨리 하고싶은게 아니시라면 시간을 가지고 프로그래머스 고득점 1~2단계 문제는 다 풀어보시고 응시하시면 코테 통과 가능한 수준이 금방 되실거라고 생각합니다!

 

글을 마치며...

코테를 통과해도 사실 면접에서까지 다 붙어서 최종 오퍼를 받기란 쉽지가 않습니다..

게다가 비전공자라면 면접 뚫기가 또 힘듭니다. 저도 면접보면서 비전공자에 신입이라 회사입장에서도 리스크가 크다는 피드백을 들은 적이 많습니다... 그러나! 코테에서 좋은 평가를 받으면 신입이어도 3년차이상 구인 공고도 뚫을 수 있습니다. 그러니 일찍부터 코딩테스트 포기하지 마시고 가벼운 마음으로 시작해보셔요! 

 

어쩌면 비전공자가 편견을 쉽게 부술 수 있는 전형이 코딩테스트 일지도 모르겠습니다. 기회라고 생각하고 열심히 풀어봅시다~~!!!

화이팅!!

 

 

--------

 

+ 업데이트

코테 합격하고 최종 면접 합격해서 지금은 모 코인거래소에 다니고있어요!

최종면접에서 제가 최종에 갈 수 있었던 이유가 코테나 실무면접 등에서 괜찮았기 때문이라는 피드백을 받았는데요!

신입이 경력 포지션을 뚫는데 코테가 큰 역할을 할 수 있다는 생각을 했습니다! 

다들 건승을 빕니다!

 

iOS 앱개발 과외를 시작합니다.

https://ios-developer-storage.tistory.com/entry/iOS-app-personal-teaching

관련글 더보기