주니어 데이터 사이언티스트 면접 질문: Python, SQL, 통계, ML

Milad Bonakdar
작성자
Python, pandas, SQL, 통계, 머신러닝 기초, 프로젝트 설명을 중심으로 주니어 데이터 사이언티스트 면접을 준비하세요.
소개
주니어 데이터 사이언티스트 면접에서는 보통 데이터를 정리할 수 있는지, 기본 Python과 SQL을 쓸 수 있는지, 통계를 명확히 설명할 수 있는지, 간단한 머신러닝 문제를 논리적으로 풀 수 있는지를 확인합니다. 좋은 답변은 짧고 실용적이며 본인의 프로젝트, 수업, 인턴 경험과 연결됩니다.
이 가이드는 면접 초반에 자주 확인되는 영역을 연습하도록 구성했습니다. Python 기본기, pandas 데이터 처리, SQL식 사고, 확률과 통계, 모델 평가, 그리고 경험을 과장하지 않고 의사결정 근거를 설명하는 방법을 다룹니다.
Python 기초 (5 문제)
1. Python에서 리스트와 튜플의 차이점은 무엇입니까?
답변:
- 리스트: 변경 가능 (수정 가능), 대괄호
[]로 정의 - 튜플: 변경 불가능 (수정 불가), 괄호
()로 정의 - 성능: 튜플이 약간 더 빠르고 메모리를 적게 사용
- 사용 사례:
- 리스트: 데이터를 수정해야 할 때
- 튜플: 고정된 컬렉션, 딕셔너리 키, 함수 반환에 사용
희소성: 매우 흔함 난이도: 쉬움
2. 리스트 컴프리헨션을 설명하고 예를 들어보세요.
답변: 리스트 컴프리헨션은 기존 이터러블을 기반으로 리스트를 생성하는 간결한 방법을 제공합니다.
- 구문:
[expression for item in iterable if condition] - 장점: 가독성이 좋고, 종종 루프보다 빠름
희소성: 매우 흔함 난이도: 쉬움
3. 람다 함수는 무엇이며 언제 사용하겠습니까?
답변: 람다 함수는 익명의 단일 표현식 함수입니다.
- 구문:
lambda arguments: expression - 사용 사례: 짧은 함수, 콜백, 정렬, 필터링
희소성: 매우 흔함 난이도: 쉬움
4. 리스트에 대한 append()와 extend()의 차이점을 설명하세요.
답변:
- append(): 리스트의 끝에 단일 요소를 추가
- extend(): 이터러블의 여러 요소를 끝에 추가
희소성: 흔함 난이도: 쉬움
5. *args와 **kwargs는 무엇입니까?
답변: 함수가 가변적인 수의 인수를 허용하도록 합니다.
*args: 가변적인 수의 위치 인수 (튜플)**kwargs: 가변적인 수의 키워드 인수 (딕셔너리)
희소성: 흔함 난이도: 중간
통계 및 확률 (5 문제)
6. 평균, 중앙값, 최빈값의 차이점은 무엇입니까?
답변:
- 평균: 모든 값의 평균 (합계 / 개수)
- 중앙값: 정렬했을 때 중간 값
- 최빈값: 가장 빈번하게 나타나는 값
- 사용 시기:
- 평균: 정규 분포된 데이터
- 중앙값: 왜곡된 데이터 또는 이상치 존재
- 최빈값: 범주형 데이터
희소성: 매우 흔함 난이도: 쉬움
7. 분산과 표준 편차를 설명하세요.
답변:
- 분산: 평균으로부터의 평균 제곱 편차
- 표준 편차: 분산의 제곱근 (데이터와 동일한 단위)
- 목적: 데이터의 확산/분산 측정
희소성: 매우 흔함 난이도: 쉬움
8. p-값은 무엇이며 어떻게 해석합니까?
답변: p-값은 귀무 가설이 참이라고 가정할 때 관찰된 것만큼 극단적인 결과를 얻을 확률입니다.
- 해석:
- p < 0.05: 귀무 가설 기각 (통계적으로 유의미)
- p ≥ 0.05: 귀무 가설 기각 실패
- 참고: p-값은 효과 크기 또는 중요도를 측정하지 않습니다.
희소성: 매우 흔함 난이도: 중간
9. 중심 극한 정리는 무엇입니까?
답변: 중심 극한 정리는 표본 크기가 증가함에 따라 표본 평균의 표본 분포가 모집단의 분포에 관계없이 정규 분포에 가까워진다는 것을 나타냅니다.
- 핵심 사항:
- 모든 분포에 적용 가능 (표본 크기가 충분히 큰 경우)
- 표본 크기 30 안팎은 유용한 경험칙일 뿐 보장은 아닙니다. 왜도가 크거나 꼬리가 두꺼운 데이터는 더 많은 표본이 필요할 수 있습니다
- 가설 검정 및 신뢰 구간을 가능하게 함
희소성: 흔함 난이도: 중간
10. 상관 관계와 인과 관계는 무엇입니까?
답변:
- 상관 관계: 두 변수 간의 통계적 관계
- 인과 관계: 한 변수가 다른 변수의 변화를 직접적으로 유발
- 핵심 사항: 상관 관계는 인과 관계를 의미하지 않습니다.
- 이유:
- 교란 변수
- 역인과 관계
- 우연
희소성: 매우 흔함 난이도: 쉬움
Pandas를 사용한 데이터 조작 (5 문제)
11. CSV 파일을 읽고 기본 정보를 표시하는 방법은 무엇입니까?
답변: pandas를 사용하여 데이터를 읽고 탐색합니다.
희소성: 매우 흔함 난이도: 쉬움
12. DataFrame에서 결측값을 처리하는 방법은 무엇입니까?
답변: 결측 데이터를 처리하는 다양한 전략:
희소성: 매우 흔함 난이도: 쉬움
13. pandas에서 데이터를 필터링하고 선택하는 방법은 무엇입니까?
답변: 데이터를 필터링하고 선택하는 다양한 방법:
희소성: 매우 흔함 난이도: 쉬움
14. 데이터를 그룹화하고 집계하는 방법은 무엇입니까?
답변:
집계 연산에는 groupby()를 사용합니다.
희소성: 매우 흔함 난이도: 중간
15. DataFrame을 병합하거나 조인하는 방법은 무엇입니까?
답변:
merge(), join(), concat()를 사용합니다.
희소성: 매우 흔함 난이도: 중간
머신러닝 기초 (5 문제)
16. 지도 학습과 비지도 학습의 차이점은 무엇입니까?
답변:
- 지도 학습:
- 레이블이 지정된 훈련 데이터 (입력-출력 쌍)가 있음
- 목표: 입력에서 출력으로의 매핑 학습
- 예: 분류, 회귀
- 알고리즘: 선형 회귀, 의사 결정 트리, SVM
- 비지도 학습:
- 레이블이 지정된 데이터가 없음 (입력만)
- 목표: 데이터에서 패턴 또는 구조 찾기
- 예: 클러스터링, 차원 축소
- 알고리즘: K-평균, PCA, 계층적 클러스터링
희소성: 매우 흔함 난이도: 쉬움
17. 과적합이란 무엇이며 어떻게 방지합니까?
답변: 과적합은 모델이 훈련 데이터를 너무 잘 학습하여 노이즈를 포함하고 새로운 데이터에서 성능이 저하되는 경우에 발생합니다.
- 징후:
- 높은 훈련 정확도, 낮은 테스트 정확도
- 데이터에 비해 모델이 너무 복잡함
- 예방:
- 더 많은 훈련 데이터
- 교차 검증
- 정규화 (L1, L2)
- 더 간단한 모델
- 조기 중단
- 드롭아웃 (신경망)
희소성: 매우 흔함 난이도: 중간
18. 훈련-테스트 분할을 설명하고 왜 중요한가요?
답변: 훈련-테스트 분할은 데이터를 훈련 및 테스트 세트로 나누어 보이지 않는 데이터에 대한 모델 성능을 평가합니다.
- 목적: 과적합 방지, 실제 성능 추정
- 일반적인 분할: 70-30 또는 80-20 (훈련-테스트)
- 교차 검증: 보다 강력한 평가
희소성: 매우 흔함 난이도: 쉬움
19. 분류에 사용하는 평가 지표는 무엇입니까?
답변: 다양한 시나리오에 대한 다양한 지표:
- 정확도: 전체적인 정확성 (균형 잡힌 데이터 세트에 적합)
- 정밀도: 예측된 양성 중 올바른 것의 비율
- 재현율: 실제 양성 중 발견된 것의 비율
- F1-점수: 정밀도와 재현율의 조화 평균
- 혼동 행렬: 예측의 자세한 분석
희소성: 매우 흔함 난이도: 중간
20. 분류와 회귀의 차이점은 무엇입니까?
답변:
- 분류:
- 이산 범주/클래스 예측
- 출력: 클래스 레이블
- 예: 스팸 감지, 이미지 분류
- 알고리즘: 로지스틱 회귀, 의사 결정 트리, SVM
- 지표: 정확도, 정밀도, 재현율, F1
- 회귀:
- 연속적인 숫자 값 예측
- 출력: 숫자
- 예: 주택 가격 예측, 온도 예측
- 알고리즘: 선형 회귀, 랜덤 포레스트 회귀
- 지표: MSE, RMSE, MAE, R²
희소성: 매우 흔함 난이도: 쉬움


