가장 일반적인 데이터 과학 인터뷰 질문 및 답변

소스 노드 : 1860815

실버 블로그가장 일반적인 데이터 과학 인터뷰 질문 및 답변

지난 몇 년 동안 회사에서 받은 900개 이상의 데이터 과학 인터뷰 질문을 분석한 후 가장 일반적인 데이터 과학 인터뷰 질문 범주를 이 가이드에서 검토하고 각각 예를 들어 설명합니다.


By 네이트 로시디, 데이터 과학자 및 제품 관리자.

데이터 과학자가 되는 것은 권위 있는 자질로 간주됩니다. 2012년 하버드 비즈니스 리뷰(Harvard Business Review)는 '데이터 과학자'를 21세기 가장 섹시한 직업으로 꼽았고, 업계에서 역할이 늘어나는 추세가 그 진술을 확인시켜 주는 것 같습니다. 이러한 섹시함이 여전히 진행 중임을 확인하기 위해 Glassdoor의 정보는 데이터 과학자가 2021년 미국에서 두 번째로 좋은 직업임을 보여줍니다.

출처: 글래스도어.

이런 명망 높은 직업을 얻으려면 엄격한 면접을 거쳐야 합니다. 데이터 과학 관련 질문은 매우 광범위하고 복잡할 수 있습니다. 데이터 과학자의 역할이 일반적으로 매우 많은 영역을 포함한다는 점을 고려하면 이는 예상된 것입니다. 데이터 과학 면접을 준비하는 데 도움을 주기 위해 적용 가능한 모든 질문을 검토하고 다양한 질문 카테고리로 구분했습니다. 내가 한 방법은 다음과 같습니다.

분석의 설명 및 방법론

다양한 구직 게시판과 웹사이트, Glassdoor, 인디드, Reddit, Blind App 등 회사 리뷰 플랫폼에서 데이터를 수집했습니다. 좀 더 정확히 말하자면 지난 903년간 수집된 질문은 XNUMX개다.

질문은 미리 결정된 카테고리로 분류됩니다. 이러한 카테고리는 당사 소스에서 가져온 인터뷰 경험 설명을 전문가가 분석한 결과입니다.

카테고리는 다음과 같습니다.

  1. 코딩
  2. 모델링
  3. 알고리즘
  4. 통계
  5. 있을 법한 일
  6. 프로덕트
  7. 비즈니스 사례
  8. 시스템 설계
  9. 테크니컬

어떤 유형의 면접 질문을 예상해야 합니까?

수집된 데이터에 따라 카테고리별 질문 유형을 보여주는 차트입니다.

백분율로 변환하면 차트는 다음과 같습니다.

보시다시피 코딩 및 모델링 질문이 가장 지배적입니다. 전체 질문의 절반 이상이 해당 영역에서 나왔습니다. 생각해 보면 놀라운 일은 아닙니다. 코딩과 모델링은 아마도 데이터 과학자에게 가장 중요한 두 가지 기술일 것입니다. 코딩형 질문은 널리 퍼져 있으며 전체 질문의 24분의 XNUMX 이상을 차지합니다. 알고리즘 및 통계와 같은 다른 질문 유형도 상당히 중요합니다. 모든 질문의 XNUMX%가 이 두 범주에서 나옵니다. 다른 카테고리는 표시되지 않습니다. 데이터 과학자 역할의 성격을 고려하면 그것이 합리적이라고 생각합니다.

이제 모든 질문 카테고리를 안내하고 질문의 몇 가지 예를 보여드리겠습니다.

데이터 과학 면접 질문에 대해 가장 많이 테스트된 개념

코딩​

이미 본 것처럼 코딩 질문은 데이터 과학에서 가장 중요한 주제입니다. 이러한 질문에는 통찰력을 식별하기 위해 코드를 사용하여 일종의 데이터 조작이 필요합니다. 문제는 코딩 능력, 문제 해결 능력, 창의성을 테스트하도록 고안되었습니다. 일반적으로 컴퓨터나 화이트보드에서 작업을 수행합니다.

코딩 면접 질문 예시

마이크로소프트의 예 이것은 다음과 같습니다:

문제: “신규 사용자와 기존 사용자의 점유율을 계산합니다. 월별, 신규 사용자 점유율, 기존 사용자 점유율을 비율로 출력합니다. 신규 사용자는 이번 달에 서비스를 사용하기 시작한 사용자로 정의됩니다. 기존 사용자는 당월에 서비스를 이용하기 시작하고 전월에 서비스를 사용한 사용자입니다. 날짜는 모두 2020년부터라고 가정합니다.”

테이블을 사용하게 됩니다. 사실_이벤트, 샘플 데이터는 다음과 같습니다.

원하는 출력을 얻으려면 다음 코드를 작성해야 합니다.

all_users as ( SELECT date_part('월', time_id) AS 월, count(DISTINCT user_id) as all_users FROMfact_events GROUP BY 월), new_users as ( SELECT date_part('month', new_user_start_date) AS 월, count(DISTINCT user_id) as new_users FROM (SELECT user_id, min(time_id) as new_user_start_date FROMfact_events GROUP BY user_id) sq GROUP BY Month ) SELECT au.month, new_users / all_users::decimal as share_new_users, 1- (new_users / all_users::decimal) as share_existing_users FROM all_users au JOIN new_users nu ON nu.month = au.month 

SQL로 코드를 작성하는 것은 코딩과 관련하여 가장 자주 테스트되는 개념입니다. SQL이 데이터 과학에서 가장 많이 사용되는 도구였기 때문에 이는 놀라운 일이 아닙니다. 면접에서 거의 피할 수 없는 개념 중 하나가 바로 조인(Join)입니다. 따라서 서로 다른 조인의 차이점과 이를 사용하여 필요한 결과를 얻는 방법을 알고 있는지 확인하십시오.

또한 GROUP BY 절을 사용하여 데이터를 그룹화하는 경우가 매우 자주 발생할 수 있습니다. 일반적으로 묻는 다른 개념은 WHERE 및/또는 HAVING 절을 사용하여 데이터를 필터링하는 것입니다. 또한 고유한 데이터를 선택하라는 메시지가 표시됩니다. 또한 SUM(), AVG(), COUNT(), MIN(), MAX()와 같은 집계 함수를 알고 있는지 확인하세요.

일부 개념은 그다지 자주 발생하지 않지만 이를 언급하고 그러한 질문에 대비할 가치가 있습니다. 예를 들어 공통 테이블 표현식(CTE)이 그러한 주제 중 하나입니다. 다른 하나는 CASE() 절입니다. 또한 문자열 데이터 유형 및 날짜를 ​​처리할 때 기억을 되새기는 것을 잊지 마십시오.

모델링

모델링은 우리 연구 데이터에서 두 번째로 큰 범주였으며, 전체 질문의 20%가 여기에서 나왔습니다. 이러한 질문은 통계 모델 구축 및 기계 학습 모델 구현에 대한 지식을 테스트하기 위해 고안되었습니다.

모델링 면접 질문 예시

회귀(Regression)는 인터뷰에서 가장 일반적인 기술 데이터 과학 개념입니다. 통계 모델링의 특성을 고려하면 이는 놀라운 일이 아닙니다.

Galvanize의 예 다음과 같습니다.

문제: "회귀에서 정규화란 무엇입니까?"

이 질문에 대답할 수 있는 방법은 다음과 같습니다.

대답: “정규화는 계수 추정값이 XNUMX으로 제한(또는 정규화)되는 특별한 유형의 회귀입니다. 이를 통해 모델의 분산을 줄이는 동시에 샘플링 오류를 줄이는 것이 가능합니다. 정규화는 과적합을 방지하거나 줄이기 위해 사용됩니다. 과적합은 모델이 훈련 데이터를 너무 잘 학습하여 새 데이터에 대한 모델 성능을 저하할 때 발생합니다. 과적합을 방지하기 위해 Ridge 또는 Lasso 정규화가 일반적으로 사용됩니다.

정기적으로 테스트되는 개념 중 일부는 로지스틱 회귀, 베이지안 로지스틱 회귀, 나이브 베이즈 분류기와 같은 다른 회귀 분석 개념입니다. 또한 랜덤 포레스트에 대한 질문과 모델 테스트 및 평가에 대한 질문도 받을 수 있습니다.

알고리즘

알고리즘에 관한 질문은 주로 프로그래밍 언어 중 하나를 사용하여 코드를 통해 수학적 문제를 해결해야 하는 모든 질문입니다. 이러한 질문에는 단계별 프로세스가 포함되며 일반적으로 답변을 생성하기 위해 조정이나 계산이 필요합니다. 이러한 질문은 직장에서의 복잡한 문제에 대해 구현할 수 있는 문제 해결 및 데이터 조작에 대한 기본 지식을 테스트합니다.

알고리즘 면접 질문 예시

알고리즘에서 가장 많이 테스트되는 기술 개념은 프로그래밍 언어로 수학적 또는 구문 문제를 해결하는 것입니다.

여기에 Leetcode에서 찾을 수 있는 한 가지 예:

문제: “두 개의 음수가 아닌 정수를 나타내는 두 개의 비어 있지 않은 연결 목록이 제공됩니다. 숫자는 역순으로 저장되며 각 노드에는 단일 숫자가 포함됩니다. 두 숫자를 더하고 그 합을 연결리스트로 반환합니다.”

데이터의 예는 다음과 같습니다.

출처: Leetcode.

대답: Java로 작성된 코드는 다음과 같아야 합니다.

public ListNode addTwoNumbers(ListNode l1, ListNode l2) { ListNode dummyHead = new ListNode(0); ListNode p = l1, q = l2, curr = dummyHead; int 캐리 = 0; while (p != null || q != null) { int x = (p != null) ? p.val : 0; int y = (q != null) ? q.val : 0; int sum = 캐리 + x + y; 캐리 = 합계 / 10; curr.next = 새 ListNode(합계 % 10); 현재 = 현재.다음; if (p != null) p = p.next; if (q != null) q = q.next; } if (carry > 0) { curr.next = new ListNode(carry); } dummyHead.next를 반환합니다. } 

이러한 유형의 질문으로 자주 테스트되는 다른 일반 개념으로는 배열, 동적 프로그래밍, 문자열, 그리디 알고리즘, 깊이 우선 검색, 트리, 해시 테이블 및 이진 검색이 있습니다.

통계

통계 면접 질문은 통계 이론 및 관련 원리에 대한 지식을 테스트하는 질문입니다. 이러한 질문은 귀하가 데이터 과학의 기본 이론적 원리에 얼마나 친숙한지 테스트하기 위한 것입니다. 수행되는 분석의 이론적, 수학적 배경을 이해할 수 있는 능력은 중요합니다. 이러한 질문에 잘 대답하면 모든 면접관이 당신에게 감사할 것입니다.

통계 면접 질문 예시

가장 많이 언급되는 기술 개념은 샘플링과 배포입니다. 데이터 과학자의 경우 이는 데이터 과학자가 매일 구현하는 가장 일반적으로 사용되는 통계 원칙 중 하나입니다.

예를 들어, IBM의 인터뷰 질문 요청 :

문제: "가우시안 분포가 아닌 데이터 유형의 예는 무엇입니까?"

질문에 답하기 위해 먼저 가우스 분포를 정의할 수 있습니다. 그런 다음 비가우시안 분포의 예를 제공하여 이를 따를 수 있습니다. 이 같은:

대답: “가우스 분포는 평균으로부터의 표준 편차를 조사할 때 알려진 특정 비율의 데이터를 찾을 수 있는 분포로, 정규 분포라고도 합니다. 비가우시안 분포의 예로는 지수 분포나 이항 분포가 있을 수 있습니다.”

취업 면접을 준비할 때 분산과 표준편차, 공분산과 상관관계, p-값, 평균과 중앙값, 가설 검정, 베이지안 통계 등의 주제도 다루도록 하세요. 이것들은 모두 데이터 과학자로서 필요한 개념이므로 취업 면접에서도 기대하세요.

있을 법한 일

이러한 질문에는 확률 개념에 대한 이론적 지식만 필요합니다. 면접관은 직장에서 일반적으로 수행되는 복잡한 데이터 연구를 완료하기 위해 확률의 방법 및 사용에 대한 지식을 깊이 이해하기 위해 이러한 질문을 합니다.

확률 면접 질문 예시

당신이 받게 될 질문은 주사위/카드 세트에서 특정 카드/번호를 얻을 확률을 계산하는 것일 가능성이 매우 높습니다. 이는 우리 연구에 참여한 대부분의 기업에 대한 질문의 가장 일반적인 요소인 것 같습니다. 많은 기업이 이러한 유형의 질문을 했기 때문입니다.

그러한 예 Facebook의 확률 질문:

문제: "52장의 카드 덱에서 두 장의 카드를 따로 뽑아서 페어가 나올 확률은 얼마나 되나요?"

이에 대답할 수 있는 방법은 다음과 같습니다.

대답: “당신이 뽑는 첫 번째 카드는 무엇이든 될 수 있으므로 덱에 카드가 한 장 덜 남았다는 것 외에는 결과에 영향을 미치지 않습니다. 첫 번째 카드를 뽑으면 덱에 3장의 카드가 남아 있어 한 쌍을 얻을 수 있습니다. 따라서 첫 번째 카드가 짝을 이룰 확률은 51장(나머지 카드) 중 3장입니다. 이는 이 사건이 발생할 확률이 51/5.89, 즉 XNUMX%라는 것을 의미합니다.”

이것은 확률만을 다루는 일종의 '전문적인' 질문이기 때문에 다른 개념은 묻지 않습니다. 유일한 차이점은 질문이 얼마나 상상력이 풍부한가입니다. 하지만 기본적으로는 항상 어떤 사건이 일어날 확률을 계산하고 자신의 생각을 보여줘야 합니다.

프로덕트

제품 인터뷰 질문은 데이터를 통해 제품/서비스의 성능을 평가하도록 요청합니다. 이러한 질문은 일상 업무의 경우와 마찬가지로 모든 환경에서 데이터 과학 원칙을 적용하고 사용하는 방법에 대한 지식을 테스트합니다.

제품 인터뷰 질문 예시

이 카테고리에서 가장 눈에 띄는 기술 개념은 데이터 과학자의 관점에서 기업의 제품을 식별하고 개선 사항을 제안하는 것입니다. 제품 측면에서 테스트된 기술 개념의 높은 차이는 제품 질문의 성격과 이에 답하는 데 필요한 높은 수준의 창의성으로 설명될 수 있습니다.

의 예 Facebook의 제품 질문 다음과 같습니다.

문제: “가장 좋아하는 Facebook 제품은 무엇이며, 이를 어떻게 개선하시겠습니까?”

대답: 질문의 성격상 이 질문에 대해서는 귀하가 직접 답변하도록 하겠습니다.

크게 테스트되는 일반 개념은 인터뷰하는 회사에 따라 다릅니다. 회사의 비즈니스와 제품에 대해 잘 알고 있는지 확인하십시오(이상적으로는 귀하도 해당 회사의 사용자임). 그러면 괜찮을 것입니다.

사업 사례

이 카테고리에는 데이터 과학 기술을 테스트하는 비즈니스와 관련된 사례 연구 및 일반적인 질문이 포함됩니다. 일부 면접관은 후보자가 채용하기 전에 회사의 특정 문제를 해결하기 위해 데이터 과학 원칙을 적용하는 방법을 알기를 원하기 때문에 이러한 질문에 대답하는 방법을 아는 것의 중요성은 엄청날 수 있습니다.

비즈니스 사례 질문 예

문제 유형의 특성상 눈에 띄는 기술적 개념을 하나도 식별할 수 없었습니다. 여기에 분류된 질문의 대부분은 사례 연구이므로 어떤 면에서는 독특합니다.

그러나 여기에는 Uber의 비즈니스 사례 질문:

문제: “예를 들어 멘로 파크(Menlo Park)와 팔로 알토(Palo Alto)와 같이 가까운 두 도시에서 Uber를 타는 사람들이 있고, 여러분이 생각할 수 있는 모든 데이터가 수집될 수 있습니다. 승객이 탑승한 도시를 확인할 수 있도록 어떤 데이터를 수집하시겠습니까?”

대답: “도시를 결정하려면 위치/지리적 데이터에 액세스할 수 있어야 합니다. 수집된 데이터는 GPS 좌표, 경도/위도, 우편번호 등이 될 수 있습니다.”

시스템 설계

시스템 설계 질문은 모두 기술 시스템 설계와 관련된 질문입니다. 그들은 고객/클라이언트를 돕기 위해 문제를 해결하고, 시스템을 만들고, 설계하는 후보자의 프로세스를 분석하도록 요청받습니다. 데이터 과학자에게는 시스템 설계를 아는 것이 매우 중요할 수 있습니다. 귀하의 역할이 시스템을 설계하는 것이 아니더라도 확립된 시스템에서 역할을 수행할 가능성이 높으며 작업을 수행하려면 시스템이 어떻게 작동하는지 알아야 합니다.

시스템 설계 면접 질문 예시

이러한 질문은 다양한 주제와 작업을 다룹니다. 하지만 눈에 띄는 것은 데이터베이스 구축이다. 데이터 과학자는 매일 데이터베이스를 많이 다루므로 처음부터 데이터베이스를 구축할 수 있는지 확인하려면 이 질문을 하는 것이 좋습니다.

여기 하나 Audible의 질문 예 우리 연구에서 밝혀진 사실은 다음과 같습니다.

문제: "추천 시스템을 구축하는 방법을 안내해 주실 수 있나요?"

대답: 이 질문에 답하기 위한 접근 방식은 매우 다양하므로 이를 구축하는 방법은 여러분이 직접 생각해 보도록 하겠습니다.

다시 말하지만, 이러한 질문에 답하려면 회사의 비즈니스를 아는 것이 중요합니다. 회사에 가장 필요할 수 있는 데이터베이스에 대해 조금 생각해 보고 인터뷰 전에 접근 방식을 좀 더 자세히 설명해보세요.

테크니컬

기술적 질문은 다양한 데이터 사이언스 기술 개념에 대한 설명을 묻는 모든 질문입니다. 기술적인 질문은 이론적이며 회사에서 사용할 기술에 대한 지식이 필요합니다. 특성상 코딩 질문과 유사해 보일 수 있습니다. 자신이 하고 있는 일의 배경이 되는 이론을 아는 것이 매우 중요하므로 인터뷰에서 기술적인 질문을 자주 받을 수 있습니다.

기술 면접 질문 예시

가장 많이 테스트된 영역은 Python 및 SQL에 대한 이론적 지식입니다. Python을 보완하는 R과 함께 이 두 언어가 데이터 과학에서 지배적이기 때문에 놀라운 일은 아닙니다.

의 예 Walmart의 실제 기술 질문 다음과 같습니다.

문제"Python의 데이터 구조는 무엇입니까?"

대답: “데이터 구조는 데이터를 저장하는 데 사용됩니다. Python에는 List, Dictionary, Tuple 및 Set의 네 가지 데이터 구조가 있습니다. 이것이 내장된 데이터 구조입니다. 목록은 다양한 유형의 데이터를 포함할 수 있는 목록을 만드는 데 사용됩니다. 사전은 기본적으로 키 세트입니다. 키와 함께 값을 저장하고 동일한 키를 사용하여 데이터를 가져오는 데 사용됩니다. 튜플은 리스트와 동일합니다. 차이점은 튜플에서는 데이터를 변경할 수 없다는 것입니다. 세트에는 중복되지 않은 순서가 지정되지 않은 요소가 포함되어 있습니다. 내장된 데이터 구조와 함께 사용자 정의 데이터 구조도 있습니다.”

이것은 포괄적인 유형의 질문입니다. 다른 카테고리에 완전히 들어갈 수 없는 모든 질문에 대한 카테고리입니다. 그로 인해 어느 정도 자주 발생하는 특정 개념이 없습니다.

결론

이 데이터 과학 인터뷰 가이드는 데이터 과학 인터뷰에서 묻는 질문 유형을 이해하기 위해 수행되는 연구를 지원하기 위해 작성되었습니다. 면접 질문 데이터는 XNUMX년 동안 수십 개의 회사에서 수집되어 분석되었습니다. 질문은 XNUMX가지 질문 유형(알고리즘, 비즈니스 사례, 코딩, 모델링, 확률, 제품, 통계, 시스템 설계, 기술 질문)으로 분류되었습니다.

분석의 일환으로 각 질문 유형 카테고리에서 가장 일반적인 기술 개념에 대해 이야기했습니다. 예를 들어, 가장 많이 묻는 통계 질문은 샘플링 및 배포와 관련이 있습니다. 모든 질문 카테고리는 실제 질문에 대한 하나의 실제 사례로 뒷받침됩니다.

이 기사는 인터뷰 준비를 위한 중요한 가이드로 사용되거나 단순히 데이터 과학에 대해 더 자세히 알아볼 수 있도록 작성되었습니다. 데이터 사이언스 면접 과정에 대해 좀 더 편안하게 느끼실 수 있도록 도움이 되었기를 바랍니다. 인터뷰에 행운이 있기를 바랍니다!

실물. 허가를 받아 다시 게시했습니다.

관련 :

출처: https://www.kdnuggets.com/2021/08/common-data-science-interview-questions-answers.html

타임 스탬프 :

더보기 너 겟츠