데이터 사이언티스트.
정말로 정보를 찾기가 힘든 직종이다.
취업하는 과정이 험난하고 막막하다.
나는 다음 세대가 더 편하게 취업을 했으면 하는 생각에 취업 준비 기록을 남긴다.
이력서를 다 만들었다면 이제 코딩 테스트를 준비하면 된다.
이력서 관련 포스팅의 링크는 여기.
[DS 취업준비] 3번째, 데이터 사이언티스트 이력서 작성하기
데이터 사이언티스트.정말로 정보를 찾기가 힘든 직종이다.취업하는 과정이 험난하고 막막하다.나는 다음 세대가 더 편하게 취업을 했으면 하는 생각에 취업 준비 기록을 남긴다. 포트폴리오
davidlds.tistory.com
그리고 완성된 코딩 테스트 자료를 보여주자면 링크는 여기.
1. 코딩 테스트 종류
데이터 사이언티스트는 어떤 코딩 테스트를 주로 볼지가 먼저 궁금할 것이다.
정답은 '주로 코딩 테스트를 안 본다.' 이다.
?ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
그럼 이 글을 쓸 이유가 있는가?
주로 안보지만 가끔 본다.
특히 대기업의 경우는 대부분 본다.
데이터 사이언티스트가 보는 코딩 테스트는 3가지 종류다.
ML 프로젝트, 파이썬 알고리즘, SQL 쿼리 이렇게 3가지 이다.
꿀팁을 주자면 ML 프로젝트가 아니라 다른 2가지를 보면 90% 확률로 다른 직무에 지원한 것이다.
이것은 내 경험에 기반한 것인데, 파이썬 알고리즘을 본 회사를 면접까지 가본 결과,
전부 데이터 사이언티스트가 아니라 ML 엔지니어를 뽑는 직무였다.
(회사가 잡 디스크립션을 애매하게 적음 or 내가 제대로 안 봄)
데이터 사이언티스트는 주로 모델링을 하고 ML 엔지니어는 그걸 구현한다.
그래서 굳이 파이썬 알고리즘 테스트를 한다는 것은 ML 엔지니어일 가능성이 높다.
데이터 사이언티스트는 ML 프로젝트만 잘하면 된다.
나는 이 점을 모르고 3가지 종류의 코딩 테스트를 모두 준비했다. (?ㅋㅋㅋㅋ)
이런 바보같은 짓을 반복할 필요는 없다. 여러분은 ML 프로젝트만 준비하길 바란다.
그런데 변태같은 회사가 있을 수 있다. 혹시 모른다.
다른 2가지에 대한 준비 방법도 적어 놓겠다. 필요하면 준비하자.
2. 코딩 테스트를 안보는 이유
데이터 사이언티스트는 보통 3가지 정도의 이름으로 공고가 올라온다.
데이터 사이언티스트, AI 리서치 엔지니어, AI 연구원 이렇게 이다.
직무의 이름에 힌트가 있다.
이 직무는 연구하는 직무지 코딩하는 직무가 아니다.
만약에 어떤 모델을 설계했다면, ML 엔지니어가 서비스 되기 전에 손을 본다.
그러니 가독성 좋게 파이토치만 잘 쓰면 되는 것이다.
그리고 파이토치나 사이킷런을 못쓰면 모델링이 불가능하다.
그러니 연구 프로젝트 혹은 ML 프로젝트를 한 사람은 이걸 굳이 평가할 이유가 없다.
그리고 뭘 어떻게 평가할지도 애매하다. (무엇이 파이토치를 잘하는 것이지? 몰?루)
그래서 대부분 코딩 테스트를 안보는 것이고, 보더라도 간단한 ML 프로젝트를 한다.
3. ML 프로젝트
ML 프로젝트의 첫번째 목적은 지원자가 ML을 할 수 있는지 이다.
얼마나 잘하는지는 두번째고 일단 할 수 있는지를 보려는 것이다.
그래서 대부분은 그렇게 어렵지 않은 난이도로 출제한다.
사실 누구나 해봤을 법한 캐글이나 데이콘의 기초 프로젝트 수준이다.
대기업의 경우 더 어려운 문제를 낼 수도 있으나, 대신 기간을 길게 준다.
우리가 ML 프로젝트에서 대비해야할 사항은 뭘까?
바로 '라이브 코딩'과 '클로즈 레퍼런스 테스트' 이다.
쉽게 말하면 아무 검색 없이, 자동 완성 없이 코딩하는 것이다.
단순히 집에서 VScode나 파이참의 도움을 받아 하는 것은 어렵지 않다.
(이게 어려울 경우 조금 더 내공이 필요하니 캐글, 데이콘을 열심히 풀자.)
그런데 이 모든 코드를 안보고 정확히 코딩할 수 있는가? 이건 다른 문제다.
솔직히 말하면 이걸 왜하는지 전혀 이해할 수 없지만 원하는 회사가 있기에 대비해야한다.
대비하는 방법은 baseline을 적고 외우는 것이다.
나는 기초적인 프로젝트를 기반으로 내 코드를 완성하고 다 외웠다.
본인들만의 코드 baseline을 완성하고 외우도록 하자.
이것은 ML baseline 코드의 구성이다.
불러오기, 데이터 전처리는 모든 사람이 동일한 방법을 사용한다.
하지만 EDA와 모델링은 본인들 만의 스타일이 있으니 수정하길 바란다.
다만 몇가지 팁을 주자면 EDA든 모델링이든 최대한 쉬운 코드를 적자.
결국 이걸 다 외워야하는데 복잡하고 경우의 수가 많으면 힘들다.
특히나 이걸 보는 기업들이 적다는 점을 명심하고 많은 에너지를 들이지 말자.
위 예시를 보면 카테고리컬에 y의 이산형/연속형에 따라 코드를 작성했다.
이렇게 하면 ML의 데이터가 주어지고 조금만 확인하면 후다닥 코드를 칠 수 있다.
다시 말하면 쉽고, 간결하고, 일반화된 코드를 작성해서 외운다.
추가로 팁을 주자면 이렇다.
어떤 문제가 나와도 풀기 위해서 (이진분류, 다중분류, 회귀) 한문제 씩 외우길 바란다.
그리고 EDA도 중요하게 생각하기 때문에 EDA도 신경써서 하도록 하자.
특히 자동완성 기능 때문에 기본 문법을 외운 적이 없는 점을 꼭 기억하자.
아무 것도 없는 메모장에 코딩을 해보는 것이 도움이 된다.
4. ML 프로젝트 (심화)
나는 크래프톤의 코딩 테스트로 굉장히 어려운 ML 프로젝트를 받았다.
이 데이터를 다 공유할 수는 없지만 전체적인 흐름을 공유해 주겠다.
메일로 왔던 ML 프로젝트 내용을 요약하면 이렇다.
1. 프로젝트의 데이터와 지시 사항을 다운 받을 수 있는 링크
2. 제출 기한 (2주)
3. 제출 링크
제출해야할 내용은 2가지인데,
파이썬 노트북 파일의 소스코드와 PDF 파일의 프로젝트 보고서 이다.
나는 2주를 꽉 채워서 사용했다.
프로젝트를 완료하는데만 엄청난 시간이 걸렸다.
모델의 성능을 올리는 것도 쉽지 않았다.
내가 아는 모든 메서드를 다 적용해서 겨우 쓸만한 모델을 만들었다.
보고서 또한 팀장님께 보고하듯 만들었고 PDF 40장 분량이 나왔다.
사실 이정도로 내용을 많이 적어내는 지원자가 없을 수도 있다.
그러나 일단 내가 느끼기에 기업에서 원하는 수준은 이정도였다.
팀에 투입하자마자 즉시 다음날부터 ML 프로젝트를 줘도 해낼 수 있는가?
그것을 평가한다고 느꼈다. 아주 난이도가 높았다.
5. 파이썬 알고리즘
앞에서도 말했지만 파이썬 알고리즘을 요구한다면?
90% 확률로 데이터 사이언티스트가 아닌 다른 직무에 지원한 것이다.
잡 디스크립션을 다시 한번 읽어보고 면접을 진짜로 갈 것인지 재고하길 바란다.
(ML 엔지니어일 가능성이 높다.)
그래도 혹시 모르니 준비하는 사람들을 위해 파이썬 알고리즘 대비 방법도 작성한다.
이때 보는 코딩 테스트는 파이썬 백엔드 엔지니어가 보는 것과 동일하다.
유튜브에 파이썬 코딩 테스트라고 치면 수 많은 정보가 나온다.
추천하는 순서는 다음과 같다.
알고리즘 공부 (책) -> 대표 유형 풀고 암기 (프로그래머스) -> 변형 문제 풀이 (프로그래머스)
책은 '이것이 취업을 위한 코딩 테스트다 with 파이썬'을 추천한다. (라며 완독 못함 ㅋㅅㅋ)
책을 구매하기 부담스럽다면 유튜브에 그대로 무료 강의도 올라와있다.
자세하게 설명하면 이렇다.
총 11개 정도의 알고리즘이 있는데 이를 책으로 공부한다.
프로그래머스에서 대표 유형을 풀어보고 암기한다.
프로그래머스에서 변형 문제를 풀어본다.
한문제를 15분 내로 풀 수 있을 때까지 반복한다.
까먹지 않도록 하루에 4개 알고리즘 씩 반복 연습한다.
프로그래머스 기준 레벨3 이상, 백준 기준 실버1~골드1를 목표로 공부하면 된다.
6. SQL 쿼리
앞에서도 말했지만 SQL 쿼리를 요구한다면?
90% 확률로 데이터 사이언티스트가 아닌 다른 직무에 지원한 것이다.
잡 디스크립션을 다시 한번 읽어보고 면접을 진짜로 갈 것인지 재고하길 바란다.
(데이터 분석가일 가능성이 높다.)
그래도 혹시 모르니 준비하는 사람들을 위해 SQL 쿼리 대비 방법도 작성한다.
이때 보는 코딩 테스트는 데이터 분석가가 보는 것과 동일하다.
추천하는 순서는 다음과 같다.
대표 유형 풀고 암기 (유튜브) -> 변형 문제 풀이 (프로그래머스)
프로그래머스 기준 레벨5 이상을 목표로 공부하면 된다.
이제 코딩 테스트가 완성됐다면 면접을 준비하면 된다.
면접 또한 자세하게 설명해줄 예정이니 다음 포스팅을 보도록 하자.
끝.
[DS 취업준비] 5번째, 데이터 사이언티스트 면접 준비
데이터 사이언티스트.정말로 정보를 찾기가 힘든 직종이다.취업하는 과정이 험난하고 막막하다.나는 다음 세대가 더 편하게 취업을 했으면 하는 생각에 취업 준비 기록을 남긴다.코딩 테스트가
davidlds.tistory.com
'취준 기록' 카테고리의 다른 글
[취준] 6번째, 데이터 사이언티스트 구직 방법 노하우 (0) | 2025.04.19 |
---|---|
[취준] 5번째, 데이터 사이언티스트 면접 준비 (0) | 2025.03.24 |
[취준] 3번째, 데이터 사이언티스트 이력서 작성하기 (0) | 2025.02.28 |
[취준] 2번째, 데이터 사이언티스트 포트폴리오 만들기 (0) | 2025.01.28 |
[취준] 1번째, 데이터 사이언티스트 프로젝트 진행하기 (1) | 2025.01.24 |