SQL 코딩테스트의 거의 모든 것 (1)
안녕하세요, 데이터 분석가 선미입니다.
데이터 분석가로 취업, 이직을 원하시는 분들이 모여있는 데이터리안 오픈 채팅방에 SQL 코딩테스트에 관한 질문들이 종종 올라오는데요. 보다 보니까 매번 궁금해하시는 것들이 비슷비슷하더라고요.
보통 코딩테스트는 파이썬으로 보나요, SQL로 보나요? 난이도는 어느 정도일까요?
보통 SQL 코딩테스트는 어떤 사이트가 가장 대중적으로 이용되는 편일까요?
코딩테스트 문제 일부만 맞춰도 합격할 가능성이 있을까요? 생각보다 어려운 문제가 나와서 못 풀었네요.
제가 모험심이 좀 있어서 회사에 다니는 와중에도 다른 회사 지원도 해보고 또 링크드인 통해서 오퍼가 오면 사양하지 않고 가서 시험도 보고 면접도 다 보고 왔거든요. 그래서 코딩테스트 경험이 같은 연차 대비 많은 편인 것 같은데요. 코딩테스트 관련 질문들을 읽어보면서 돌이켜보면 '코딩테스트를 보기 전에 이런 것들을 미리 알고 갔다면 참 좋았겠다' 싶은 것들이 몇 개가 있더라고요.
그래서 이번에는 SQL 코딩테스트를 준비하는 방법을 시리즈로 풀어보려고 합니다. 제가 지금까지 경험했던 코딩테스트의 유형은 어떤 것들이 있는지, SQL 코딩테스트 준비는 어떻게 시작해야 하는지, 그리고 테스트 당일까지 며칠 안 남은 분들에게 전해드리고 싶은 팁까지! 제 경험을 탈탈 털어보도록 하겠습니다. 물론 코딩테스트 준비에 정답이 있는 것은 아니기 때문에, 그냥 친한 선배나 동료가 꿀팁을 알려준다고 생각하고 읽어보시면 좋겠습니다.
먼저 'SQL 코딩테스트'라는 게 뭔지부터 얘기를 시작해 볼게요. 그러려면 'SQL'이 뭔지부터 알아야 합니다.
SQL(Structured Query Language)은 데이터를 저장하고 출력하는 '데이터베이스'라는 프로그램을 다루는 언어입니다. '데이터베이스'를 간단하게 말하면 데이터를 저장하고 출력할 수 있게 하는 가상의 바구니라고 할 수 있어요. 그 바구니에 새 데이터를 넣거나, 기존 데이터를 삭제하거나, 데이터를 보는 것 같은 조작을 하고 싶다면, SQL이라는 언어를 반드시 사용할 수 있어야 합니다.
우리가 컴퓨터에 새 파일을 만들고 싶을 때는 '새 파일 만들기' 같은 걸 클릭해서 새 파일을 만들죠. 그런데 데이터베이스에 새로운 데이터를 저장하고 싶을 때는 그렇게 할 수 없기 때문에, 새로운 데이터를 추가하도록 명령하는 코드를 작성해야 합니다. 이 코드를 SQL이라고 하는데요. 데이터베이스라는 저장소에 있는 데이터를 꺼내 보고 싶을 때도 이 SQL이라는 언어를 사용해서 어떤 데이터를 가져올 것인지를 알려줘야 해요.
데이터 분석가는 데이터베이스에서 데이터를 꺼내 분석해야 하기 때문에 SQL을 자유자재로 활용할 수 있어야 합니다. 그래서 특수한 경우를 제외한 거의 모든 데이터 분석가 채용 공고에는 SQL을 지원 자격, 즉 필수 요건으로 명시하고 있습니다. 예시로 가져온 쿠팡의 데이터 분석가 채용 공고에도 ‘능숙한 SQL 사용 경험 및 역량’을 지원 자격으로 명시해 두었고, ‘SQL 코딩테스트 진행 필수’라는 내용이 적혀있는 것을 볼 수 있습니다.
(데이터 분석가 채용 공고를 더 보고 싶으신 분들은 데이터리안 유튜브 채널에서 현업 데이터 분석가와 채용 공고 읽어보기를 참고해 주세요.)
'SQL 코딩테스트'라고 하면 온라인 플랫폼에서 보는 테스트만 생각하시는 분들이 많더라고요. 그런데 온라인 플랫폼 코딩테스트 이외에도 조금 더 다양한 형태로 코딩테스트를 보았는데요. 제가 그동안 봤던 코딩테스트 유형의 특징을 정리해 보면 아래와 같습니다.
첫 번째로 온라인 플랫폼 유형입니다. 이 유형은 '해커랭크'나 '프로그래머스' 같은 플랫폼으로 접속하는 특수 링크를 주고 시험을 보도록 하는 유형입니다.
화면 구성을 살펴보면, 맨 왼쪽 상단에는 남은 시간이 표시됩니다. 지금 1시간 28분 남았다고 표시가 되어 있네요. 그다음에는 문제 서술이 있고요. 그리고 오른쪽에 SQL 코드를 쓰는 부분이 있습니다. 플랫폼마다 구성은 약간씩 다르지만 기본 구성은 이렇습니다.
테스트 문제는 보통 3문제에서 5문제 사이, 뒤로 갈수록 어려워지는 경우가 많았습니다. 제가 이런 플랫폼에서 테스트를 보았을 때는 보통 영어로 문제가 나왔습니다. 그러나 '프로그래머스' 같은 한국 플랫폼에서는 한국어 지문이 나오기도 한다고 합니다. 그래서 지문은 상황에 따라서 영어로 나올 수도 있고, 한국어로 나올 수도 있다는 점을 참고해 주시면 좋겠습니다.
지문이 영어로 나왔다고 해서 겁먹을 필요는 없습니다. SQL 실력을 보기 위한 문제이기 때문에 어려운 영어 단어가 나오지는 않을 거예요. 풀다 보면 익숙해지니까 너무 걱정 안 하셔도 됩니다. 연습 문제를 많이 풀면 '이런 단어가 나오면 이런 코드를 원하는구나' 까지도 유추할 수 있습니다.
온라인 라이브 테스트의 장점
온라인으로 라이브 테스트를 보는 경우에는 면접관이 같이 들어오기 때문에, '혹시 이 문제에 대해서 질문해도 될까요?'라고 물어보고 이해가 안 되는 점에 대해서 질문하면서 풀어볼 수 있다는 장점이 있습니다. 저 같은 경우에는 이 점을 활용해서 가산점을 받은 적도 있었습니다.
한 번은 테스트용 문제를 받았는데, 서술이 조금 애매해서 두 가지 함수로 문제를 풀 수 있겠더라고요. 저는 당시에 두 함수의 차이점과 사용 방법을 잘 알고 있다는 것을 어필하기 위해서 이렇게 면접관님께 질문드렸어요. ”이 부분에서 A 함수로 풀면 이런 결과가 나오고 B 함수를 이용해서 풀면 이런 결과가 나오는데, 어떻게 결과를 의도하고 문제를 출제하신 건가요?” 라고요. 아마 문제를 내신 분도 생각하지 못했던 부분을 짚어냈던 것 같아요. 면접관님께 이렇게 질문을 한 덕분에 좋은 점수를 받기도 했습니다.
온라인 라이브 테스트의 단점
그런데 한편으로는 온라인 플랫폼에서 테스트를 보는 것보다는 조금 답답한 느낌이 들더라고요. 앞에서 얘기한 플랫폼에서 테스트를 보는 경우에는 코드를 이리저리 실행해 보면서 데이터가 잘 출력되는지 확인해 볼 수 있었는데, 온라인 라이브 테스트 유형은 메모장 같은 곳에 쿼리를 작성하는 거라 실행을 해볼 수가 없었습니다. 그래서인지 같은 문제를 풀어도 플랫폼에서 푸는 게 좀 더 쉽게 느껴졌습니다. 또 온라인 라이브 테스트가 기술 면접을 겸하는 경우가 많아서 더 어렵게 느껴졌던 것 같기도 합니다.
보통 SQL 코딩테스트는 정식 면접을 시작하기 전에 지원자들을 스크리닝하는 용도로 사용하기 때문에 이렇게 오프라인까지 가서 테스트를 보는 것이 흔하지는 않습니다. 다만 이렇게 코딩테스트를 보기도 한다는 것을 알고 계시면 좋을 것 같아요.
어떤 회사는 오프라인 SQL 코딩테스트를 본 후 합격하자마자 바로 실무진 면접을 보고, 임원 면접까지 보도록 하는 경우도 있더라고요. 저도 오프라인 SQL 코딩테스트 보러 가서 최종 오퍼까지 받아서 나왔던 경험이 있는데요. 그날 오퍼를 받아 나오면서 '여기는 엄청 시원시원하게 의사결정 하는 곳이구나'라고 생각했던 것이 아직도 기억납니다.
온라인 라이브 테스트와 마찬가지로 면접관이 있기 때문에 문제가 좀 모호한 부분에 대해서 질문하면서 풀어볼 수 있습니다. 잘 안 풀리는 문제는 테스트가 끝나고 어떻게 풀 수 있는지 바로 질문해 볼 수 있어서 좋았어요.
SQL 코딩테스트란 뭔지, 어떻게 진행되는지 이제 조금 감이 잡히시나요? 아래에 지금까지 설명한 SQL 코딩테스트 유형별 특징을 정리해 봤습니다.
지금까지 데이터 분석가 직무에 SQL 코딩테스트가 왜 필요한지, 어떤 유형의 테스트가 진행되는지 알아봤는데요. 그럼 이제는 실제 테스트를 볼 준비를 해야겠죠. SQL 코딩테스트는 어디에서부터 시작해야 하는지, 어떻게 공부하면 좋을지, 또 어디까지 공부해야 할지는 다음 글에서 자세히 살펴보겠습니다.
쿠팡, 리디, 잡플래닛 출신 데이터 분석가들이 직접 만든 커리큘럼으로 SQL 공부 시작해보세요.
8주 뒤에는 데이터 분석가 채용에서 요구하는 SQL 코딩테스트에서 만점받을 수 있어요.
수강생들의 후기가 궁금하다면, 검색창에 '데이터리안 캠프 후기'를 검색해보세요!
▼ 지금 'SQL 데이터 분석 캠프 | 패키지'를 40% 할인 된 금액으로 등록해보세요.
내일(3/14, 금요일) 40% 할인 마감됩니다.
◆ 데이터 분석가들이 직접 발행하는 뉴스레터 무료로 받아보기
◆ 데이터 분석 실무자들이 모여있는 오픈 카톡방 참여하기
(링크 클릭 후 오카방 메인 화면에서 참여 코드 확인 필수!)
◆ SQL 데이터 분석 캠프 커리큘럼 보러가기
◆ GA4 데이터 분석 캠프 커리큘럼 보러가기
◆ 데이터리안 블로그에서 더 다양한 데이터 분석 콘텐츠 구경하기
◆ 데이터 분석 전문 세미나 다음 주제 보러가기