잡상들

프로그래머스 SQL 코딩테스트 후기

KevinKim. 2023. 2. 18. 23:44

(주의) 기출 문제 정보는 없습니다. 그냥 처음 보면서 느낀점들, 이후에 볼 때 주의할 사항들에 대해 적었습니다.

ⓒ프로그래머스

 


준비과정

우선 첫번째로 프로그래머스 내 제공해주는 기출문제를 풀어봤다. 기출문제를 풀었던 것은 문법간 차이를 미리 이해하기 위함이었다. 이전 회사는 Google Bigquery 기반의 SQL을 활용했고, 지금 회사는 Clickhouse 기반의 SQL을 활용했다. Bigquery에서 Clickhouse로 넘어올 때, 굵직한 문법은 비슷했지만 간혹 조금씩 차이가 있는 경우가 있었다.

그런 경험 때문에 시험 때 응시할 MYSQL이 지금 회사의 문법과 차이가 있을 것을 우려해서 프로그래머스에서 제공하는 문제를 미리 풀어봤다.

결과적으로 매우 잘한 일이었다. 프로그래머스에서 제공하는 연습문제를 풀자마자 "Every derived table must have its own alias"라는 에러가 하나 떴다. 문법적으로 틀린게 없는게 이게 뭔소리야 봤더니, MYSQL은 서브쿼리에도 Alias를 지정하지 않으면 무조건 에러가 난다고 한다. 그래서 이런 것들을 익히면서 조금 차이가 있는 문법에 대해서 확인했다.


코딩테스트

코딩테스트는 특별히 어렵지 않았다. 기본적인 문제와 응용 문제가 적당히 조합된 상태였다. 아마 현업에서 쎄빠지게 구르고 있는 데이터 분석가라면 어렵지 않게 풀 수 있는 문제들이다. 5문항 모두 만점으로 500점으로 시험을 마쳤다.

대략 1시간 30분이 소요됐다. 주어진 시간의 절반이지만, 이 마저도 시간을 많이 잡아먹은 사례였다. 시간을 많이 잡아먹은 이유는 문제에 나온 조건들을 제대로 지키지 않아서였다. 조건이 별건 아니고, 순서를 어떤 식으로 정렬하라는 것이었는데 칼럼을 3개를 지정해야 하는데, 제대로 안보고 2개만 지정해놓고 계속 제출하기를 클릭하면서 '잘 풀었는데 뭐가 문제야'하면서 계속 고민했다...

ⓒ프로그래머스


그 밖에 드는 생각들

1. 프로그래머스에서 제공하는 이런 서비스가 되게 괜찮다는 생각을 했다. 예전에 회사에서 물류기획 팀장으로 일하면서, 인턴 면접을 진행한 경우가 있었다. 이 때 데이터 분석 역량있는 친구가 필요했지만, 당시 할 수 있는 것은 이 친구가 이력서와 자기소개서에 써준 내용을 토대로 판단할 수 밖에 없었다. 채용 과정에서 효율을 생각한다면, 이후에 내가 사람을 채용할 때 이런 서비스를 사용해보면 되게 유용할 것 같다는 생각을 했다.

2. 시험을 다 보고 든 생각인데, 어쩌면 ChatGPT를 활용한다면 이 정도 수준의 문제는 가볍게 답할 수 있을 것 같다고 느꼈다. 만약 ChatGPT가 본격적으로 상용화된다면, 이후의 코딩테스트 및 역량테스트는 어떤 식으로 개편될 수 있을지가 고민이다.

3. SQL 그동안 토나오게 한 보람이 있긴 있다. 파이썬도 이렇게 부담없이 코딩테스트 볼 수 있도록 더욱 열심히 해야겠다.