아래의 글은 필자의 의견이고 회사의 의견을 반영하지 않고 있습니다.
[요약]
Product Analytics 데이터 사이언스 인터뷰 질문들은 크게 세 분야로 나누어진다:
- Product Sense (제품 이해도): 데이터로 제품의 전략적인 문제를 푸는 구간이다.
- Technical Ability (기술적 능력): 데이터 조작과 분석을 할 수 있는 능력을 시험하는 구간이다. 대부분 SQL, Python, 아니면 R로 문제들을 풀어야 한다.
- Quantitative Ability (수학 능력): A/B testing, 기본적인 분포들과 확률에 관한 질문들을 풀어야 하는 구간이다.
[다양한 분야 = 다양한 인터뷰]
데이터 사이언스는 다양하고, 융합적인 필드이다. 그러기에 면접 과정도 분야마다 다르고, 준비하는 법도 다르다.
Product Analytics 데이터 사이언티스트는 데이터를 기반해서 회사 전략/운영에 값진 인사이트를 제공하는 직책이다. 물론 A/B testing이나 간단한 예측 모델도 하지만, Advanced 모델링/랭킹에 집중하는 Research Scientist나, 데이터 기록/테이블 생산을 담당하는 Data Engineer보다 덜 “과학”적이다. 그래서 이 분야의 인터뷰 질문들도 대부분 기술적인 면을 부각하기보다, 지원자의 소통능력과 비즈니스 센스를 더 부각하는 유형이 많다.
그렇다면 Product Analytics에서는 어떤 인터뷰 질문들이 있을까? 이 분야의 인터뷰 질문들은 크게 세 부분으로 분할할 수 있다: Product Sense (제품 이해도), Technical Ability (기술적 능력), Quantitative Ability (수학 능력). 이 세 분야를 차례대로 알아가 보도록 하자.
[Product Sense 제품 이해도]
위에 설명했던 것처럼 Product Analytics의 데이터 사이언티스트는 데이터를 이용해 추상적인 감으로 볼 수 없는 기회나 트렌드를 포착하는 직책이다. 그 어떤 직책보다 제품과 시장을 잘 이해해야 하고, 제시하고자 하는 방향과 그것을 받침 하는 데이터를 간결 명확하게 여러 사람에게 전달할 수 있어야 한다.
그러므로 이 구간의 질문들은 대부분 어떤 제품을 예로 들어서, 그 제품의 성공 수치는 어떻게 세울 것이고, 제품의 성장을 위해 필요한 분석을 어떻게 할 것인지에 관한 질문들이 많다. 카카오톡을 예로 들면 이런 질문들이 나올 수 있다.
*필자는 카카오와 면접해 본 적이 없으며, 이건 그냥 필자가 만들어낸 질문들과 답들이다:
- 카카오톡의 주 기능은 문자입니다. 이 제품의 성공 수치는 어떤 거로 정해야 할까요?
- 카카오톡의 큰 장점 중 하나는 이모티콘입니다. 카카오톡을 전체적으로 보았을 때, 이모티콘은 어떤 이로움이 있을까요? 그걸 어떤 수치로 측정할까요?
- 당신이 만약 이모티콘을 출시하기 전의 데이터 사이언티스트라 가정해봅시다. A/B testing을 설정할 때, 당신은 어떤 수치를 측정하고, 실험 설정을 어떻게 할 것인가요?
필자는 세 구간 중 이 구간이 가장 중요하다고 생각한다. 그리고 다른 기술적인 구간과 달리, 단순한 암기로 해결할 수 있는 구간이 아니다. 이 구간을 잘 해쳐 나아갈 수 있는 다양한 방법이 있겠지만, 필자는 일단 세 가지만 권장한다:
- 선형 논리: 잘 정리된 논문처럼, 면접관에게 서론부터 결론까지 차례대로 설명할 수 있어야 한다. 처음부터 답을 얘기하기보단, 좋은 글의 서론처럼 주어진 문제를 논리적으로 분할하고, 차례대로 A를 먼저 분석해서 중간 결론을 내리고, B를 분석하여 차기 중간 결론을 내리고, C를 보고 최종 결론을 내리겠다는 계획을 간결하게 소통하도록 하자. 서론 후, 문제마다 면접관을 리드하고, 차례대로 문제를 논리적으로 풀 수 있다면 인터뷰는 성공적으로 마칠 수 있을 것이다. 예를 들면 이렇다:
- 인터뷰 시작: Okay, so you are asking for my thoughts on [something]. In order to come to a conclusion, I plan to look at A, B, and C. Does that sound good to you?
- 한 부분을 끝냈을 경우: Okay, we reviewed A, and the results were [something]. With this information, I want to make the intermediate conclusion that [something] before moving on to B.
- 지원 회사에 대한 사전 조사: 특히 상장한 회사라면, 그 회사가 어떤 수치를 중요시하는지 매체를 통해 파악이 가능하다. 예를 들어 Facebook 같은 경우 매달 사용자 수와 사용 시간을 중요시한다는 걸 인터뷰 전에 기사에서 읽었고, 인터뷰 도중에 도움이 되었다.
- 차분함 유지: 면접관과 1대1로 즉석에서 문제를 풀어야 하는데, 답이 바로바로 생각이 안 나 당황할 수 있다. 그런 순간이 왔을 때, 필자는 이런 방식으로 여유로운 척(?)하면서 시간을 버는 걸 권장한다.
- 밑도 끝도 없는 질문을 받았을 때는 생각을 정리하고 싶다면서 시간을 달라고 한다: This is a really interesting question, and I am coming up with a lot of ideas. Just so that I can present them in a more organized manner to you, may I take 30 seconds or so to gather my thoughts?
- 이해가 안 되는 차트를 받았을 때는 그냥 소리 내어 읽어 시간을 번다: Okay, this is an interesting graph. On the x-axis, I see that it is measuring [something]. On the y-axis, it is measuring [something]. So this graph is representing the relationship between [this] and [that].
- 물을 마신다: 아주 자연스럽게…
[Technical Ability 기술적 능력]
요즘 데이터 사이언스에서 대부분 쓰는 Data Program 언어는 SQL, Python, 과 R이다. 이 구간에서 면접관은 지원자에게 보통 두, 세 개의 데이터 테이블을 주고, 그 테이블들을 Join 해서 합, 평균, 중앙값을 구하라 한다. 만약 독자가 초보자라면 Udemy나 Coursera 같은 웹사이트를 통해 코스를 듣는 걸 권장한다. 만약 독자가 경력자라면 이 구간에 대한 별다른 tip은 없다. 자기 자신이 제일 자신 있다고 생각하는 언어를 Udemy 같은 웹사이트에서 충분히 연습하고, 면접에 임하면 될 것이다. 이 구간에는 이런 유형의 문제들이 있다:
- 첫 번째 데이터 테이블은 사람 ID와 나이, 두 번째 테이블은 사람 ID와 국적 정보를 서식하고 있습니다. 각 나라의 평균 나이를 구하십시오. (SQL)
SELECT
Country,
AVG(age) AS avg_age
FROM table_a
LEFT JOIN table_b ON table_a.id = table_b.id
GROUP BY 1
- 주어진 데이터에 에러가 없는지 어떻게 확인할 건지 설명하십시오.
- Age에 null과 음수가 있는지 본다.
- Country에 null이나, 중복되는 국적이 있는지 본다 (ROK vs South Korea).
- 한 테이블에만 있는 아이디가 있는지 체크해 본다.
[Quantitative Analysis 수학 능력]
아무래도 데이터 사이언스이다 보니 어느 정도의 수학과 통계학은 필수다. 이 구간에서는 기본적인 분포들 (normal, binomial, etc.)과, 확률에 관한 질문들을 풀어야 한다. 한 예는 유명한 몬티 홀 문제이다:
당신이 한 게임 쇼에 참여하여 세 문들 중 하나를 고를 기회를 가졌다고 생각해봐라. 한 문 뒤에는 자동차가 있으며, 다른 두 문 뒤에는 염소가 있다. 당신은 1번 문을 고르고, 문 뒤에 무엇이 있는지 아는 사회자는 염소가 있는 3번 문을 연다. 그는 당신에게 “2번 문을 고르고 싶습니까?”라고 묻는다. 당신의 선택을 바꾸는 것은 이득이 되는가? (정답은 바꾸는 게 유리하다. 자세한 글은 여기)
그리고 A/B testing에 대한 기본적인 이론에 대한 질문과 샘플 사이즈와 신뢰 구간에 대한 질문들이 있다. 이 구간을 준비할 때 필자는 칸아카데미의 확률과 통계가 많이 도움이 되었다. 이 글도 좋은 링크가 많이 있다. 이 구간의 문제들은 생소할 수 있어도, 복잡한 계산은 요구하지 않으니 너무 긴장할 필요 없다.
[Just Do It!]
많이 예습하고, 공부하는 것도 중요하지만, 필자는 다른 사람들과 실전처럼 연습하면서 배워가는 걸 권장한다. 종이로 문제를 푸는 것하고, 말로 그걸 설명하는 느낌이 다르기 때문에 실전 같은 연습이 더욱더 도움이 된다. 처음에는 낯설 수도 있지만, 계속하다 보면 문제들이 어느 순간 익숙하게 느껴질 것이다.