일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 2021년의 #봄여름가을겨울
- 새파란
- 국민의힘경선
- 2021년회고
- 데이터시각화
- 데이터분석
- 회고
- 주니어개발자
- 개발자취업
- 안철수
- 라이브코딩테스트
- 글또6기회고
- 박영선
- 데이터과학자진로
- 국회데이터시각화
- 로버트마틴
- 스타트업독서노트
- 360시간만에개발자
- 네이버트렌드
- 데이터분석공부
- 데이터분석가준비
- 데이터분석가채용
- 신입개발자
- 데이터분석가
- 글또회고
- 360시간만에개발자되기
- 서울시장
- 데이터과학자의일
- 구글트렌드
- 개발자면접
- Today
- Total
NEWBLUE's
3. '30일 만에 데이터 사이언티스트 되기' 성공?! - 데이터 사이언티스트 면접 후기 본문
'360시간 만에 개발자 되기 프로젝트'의 세번째 글- '30일 만에 데이터 사이언티스트 되기' 성공?! - 데이터 사이언티스트 면접 후기입니다. '개발자 구직 과정'에 익숙하지 않은 분이시면 0. 개발자 취업 프로세스 이해하기를 먼저 보시는 것을 권합니다.
페이스북이나, 인스타그램에서 심심찮게 보이는 이 문구 - '30일 만에 데이터 사이언티스트 되기!'
사기 같아 보이는 말이었지만, 생각해보니 내가 한 달 만에 데이터 사이언티스트가 되려고 노력하고 있었다. 과연 정말 가능한 일이었을까?
C기업 데이터 사이언티스트가 되려면 코딩테스트 - 1차 기술 면접 - 2차 기술 면접을 통과해야 했다.
첫 번째 관문 : 코딩 테스트
공부를 시작하기로 할 때는 화요일이었고, 시험은 다음 주 월요일까지 볼 수 있었으므로 약 1주일의 시간이 있었다.
코딩 테스트의 경우 Python과 SQL을 준비해야 했다. Python은 그래도 평소에 가장 좋아하고 자주 쓰는 언어였는데, SQL의 경우 안 쓴 지가 너무 오래돼서 빠르게 다시 복습해야겠다 싶었다.
새파란 준비 방법 - Python / SQL 코딩 테스트
Python
- 해당 코딩 테스트 사이트(testdome) 문제 다 풀기
- Kaggle에서 Pandas 강의 듣기
SQL
- Kaggle에서 Intro to SQL / Advanced SQL 수업 듣기
- 프로그래머스 사이트 문제 다 풀기
- 해당 코딩 테스트 사이트(Testdome) 문제 다 풀기
- Leetcode 관련 문제 풀기
Kaggle의 경우 데이터 사이언스에 관심이 있는 사람이라면 다 알법할 플랫폼이다. 단순한 강의에서 끝나는 게 아니라, 충분한 실습 환경을 제공해주고 있어서 선택했다. 들었던 세 개의 강의는 현재 실무에서까지 유용하게 사용하고 있다.
프로그래머스 문제들은 빠르게 풀며 기본기를 다지기 좋았고, Testdome 문제들은 실제 코딩 테스트 환경에 익숙해지기 위해 풀었다.
Leetcode는 다는 못 풀었지만 약간 문제를 위한 문제들이 보여서 그런 유형의 문제들은 건너뛰어가며 참고했다.
[회사 C / 데이터 사이언티스트 / 코딩 테스트]
python (데이터 프로세싱 / 일반 알고리즘), SQL이 적절히 섞여서 출제되었다.
pandas에 조금만 더 익숙했으면 더 많은 테스트 케이스를 통과할 수 있었을 것 같다. SQL도 window function을 조금만 더 잘 활용했다면 점수가 높았을 것 같다.
다행히 코딩 테스트 합격이라는 연락을 받았다. 면접 공부를 해야 하므로 일부러 면접 날짜를 뒤로 미뤄서 1주일 후로 잡았다. (필자에겐 1주일이 긴장감을 잃지 않고 집중해 공부하기 딱 좋았다.)
두 번째 관문 : 1차 기술면접
새파란 준비 방법 - 데이터 사이언티스트 1차 기술면접
1. 머신러닝과 친해지기
Kaggle 에서 Intro to Machine Learning / Intermediate Machine Learning 듣기
2. SQL
데이터 분석을 위한 SQL 레시피 흐름 파악 및 읽기 (지금 돌이켜보면 이 책은 면접 준비보다는 실무에 더 도움이 될 것 같아서 굳이 안 읽어도 될 것 같다)
3. 각 분야별로 매일 개수를 정해서 면접 실전처럼 준비하기 (링크는 참고했던 페이지들)
- 파이썬
- 데이터 사이언스
- 통계/ 머신러닝
[회사 C / 데이터 사이언티스트 / 1차 기술면접 ]
- 데이터 사이언티스트가 되고 싶은 이유
- CV 관련 질문
- Linked List에서 순환 구조를 찾는 방법
- Binary Search 사용 시 최악의 경우 예 및 대처방법
- 파이썬 Mutable과 Immutable 차이
- 파이썬 Map에서 Value로 정렬하는 방법
- 파이썬 List Comprehension
- Maximum Likelihood Estimation
- 조건부 확률 및 베이즈 정리 및 관련 철학
- Likelihood와 Probability의 차이
- Regression과 Classification의 차이
- 모델 결정 방법에서 Boosting / Bagging / Stacking의 차이
- 경험했던 머신러닝 프로젝트 / 캐글 사용 유무
80% 정도 질문에는 적절히 답을 잘했던 것 같다. 확실히 A와 B 회사 면접보다는 잘 본 것 같아서 그래도 준비를 한 게 보람이 있나 싶었다. 머신러닝 / 통계 부분은 급하게 공부했었는데, 공부했던 질문들이 그대로 면접에 나와서 운이 좋기도 했다.
이틀 후에 연락이 왔고, 합격 소식을 받을 수 있었다. 이어서 또 1주일간의 기간을 두고 2차 기술면접을 준비했다.
마지막 관문 : 2차 기술면접
새파란 준비 방법 - 데이터 사이언티스트 2차 기술면접
1. 데이터와 친해지기 2
Kaggle에서 Feature Engineering / Machine Learning Explainability 듣기
2. 개발 분야별 면접 질문 매일 개수 정해서 연습하기
면접 일반 / 파이썬 개발 일반 / 머신러닝 / 통계 / 데이터 구조 / 알고리즘 / 운영체제 / 네트워크 / 데이터베이스
3. 구글 머신러닝 단기집중과정 강의 듣기
- developers.google.com/machine-learning/crash-course?hl=ko
[회사 C / 데이터 사이언티스트 / 2차 기술면접 ]
- 자기소개
- CV 관련 질문
- 본인 장점
- 팀장을 많이 했던 이유
- 데이터 사이언티스트 하면 잘할 수 있을 것 같은 이유
- (기술적인 관점에서) 데이터를 다뤘던 경험
- 회사에서 데이터 사이언티스트의 역할이란?
- 최근에 관심 있는 기술
- 관심 있게 보는 방송이나 뉴스
- OS 메모리 영역 구조 (스택, 힙, 코드, 데이터)
- 파이썬 list와 tuple 차이
- 파이썬 list 구현 방식, 구현 방식 별 insert / get 명령 시간 복잡도
- 파이썬 dictionary 구현 방식, 구현 방식 별 insert / get 명령 시간 복잡도
- 파이썬 Dequeue (양쪽에서 원소 insert / get 가능) 구현 방식, 구현 방식 별 insert / get 명령 시간 복잡도
- 파이썬에서 key가 될 수 있는 것은? list는 키가 될 수 있을까?
- Stable Sort의 의미와 예
결론부터 말하자면, 완전 헛다리를 짚었다. 1차 면접 벼락치기 성공 후, 1주일간 거의 머신러닝/통계 위주로 면접을 준비했었는데, 관련 질문은 하나도 없었다.
이번에는 60퍼센트 정도 대답한 것 같다. 특히 파이썬 데이터 구조와 관련한 꼬리에 꼬리를 무는 질문들에 100% 확신을 가지고 자신 있게 대답하지 못했다. '일주일 동안 파이썬 책만 봤었으면 거의 모든 질문에 착착 대답할 수 있었겠다..!'라는 생각을 하면서 나왔고, 나중에 다시 공부하면서 그때 어떻게 대답했었어야 좋을지 알 수 있었다. stable sort도 면접이 끝난 후에 찾아보고, '아 내가 이런 걸 전에 들어본 적이 있나?' 했었는데, 집에서 대학교재에 필자가 직접 쓴 필기를 발견했었다.
보통 2차 면접은 (기술) 팀장/임원 면접인데, 미리 찾아봤을 때는 데이터 사이언스 분야의 임원이 딱히 명시되어 있지 않아서 어떤 분이 들어오실까 되게 궁금해했었다. 알고 보니 전체 플랫폼 부서 임원분께서 들어오셨고, 그래서 Python과 데이터 구조 기본 위주로 자세히 물어보셨던 것 같다.
덧붙여 경력직 채용이었는데, 신입을 뽑아야만 하는 이유를 제시하지 못했다. (기술적인 부분에서) 데이터를 다뤘던 경험에 관해 이야기할 때, 아무리 내 대학생활 / 대외활동 경험을 포장해도 실무에서의 경험과는 결이 달랐다.
30일 만에 데이터 사이언티스트 되기. 다음 기회에!
면접은 마치 두더지 잡기와 같아서 한 분야만 공부하면 다른 분야의 부족한 부분이 생기고, 다시 해당 분야를 공부하면 나머지 분야에서 빈틈이 생긴다ㅎㅎ 결국 모든 분야에 대해 기본기를 천천히 다져나가는 수밖에 없다. 덧붙여 일단 면접을 보면, 어떤 점이 부족한 지 확실히 알 수 있다. 그런 점에서 정말 가고 싶은 회사가 있다면, 오히려 나중에 지원하는 게 더 나을 수도 있다.
이렇게 C 회사, 그리고 지난번 A, B 회사에서 좋은 수업(?)을 받았으므로, 이제 본격적으로 지원을 하기로 마음을 먹었다.
잠시 정비하는 기간을 가지고 무려 동시에 5개의 기업에 지원하게 되는데...... (다음 화에 이어집니다)
'순간들' 카테고리의 다른 글
2020년 회고 : 여행, 수련, 그리고 시작 (0) | 2021.01.02 |
---|---|
4. 오늘도 또 개발자 채용 공고를 보고 지원서를 보낸다 뚠뚠 - 개발자 면접 준비 계획 세우기 (0) | 2020.12.12 |
글또 5기를 시작하며 (0) | 2020.11.04 |
2. 졸업하고 숲으로 향하다 - 취준생 효율적인 시간 관리 (0) | 2020.09.05 |
1. 정신을 차려보니 졸업이 코앞에 있었다 - 주니어 개발자 면접 후기 (1) | 2020.09.02 |