본문 바로가기
취준 기록

[취준] 데이터분석 면접 대비 질문 리스트 (for 데이터 사이언티스트)

by davidlds 2025. 5. 18.
반응형

데이터 사이언티스트.
정말로 정보를 찾기가 힘든 직종이다.
취업하는 과정이 험난하고 막막하다.
나는 다음 세대가 더 편하게 취업을 했으면 하는 생각에 취업 준비 기록을 남긴다.

 

딥러닝 면접 대비를 위한 질문 리스트이다.

깃허브에 통합 버전이 있는데 안들어갈거 같아서 여기다 추가로 적는다.

 

원본은 여기.

여러 사이트와 깃허브를 참고했다.

그분들께 무한한 감사를 드립니다.

그런 의미에서 나의 리스트도 공공재로 쓰면 된다.

 

다만 면접 대비에서도 언급했던 것처럼 꼭 반드시 자신의 언어로 답변을 다시 준비하도록 하자.

면접 대비 글은 여기.

 

[취준] 5번째, 데이터 사이언티스트 면접 준비

데이터 사이언티스트.정말로 정보를 찾기가 힘든 직종이다.취업하는 과정이 험난하고 막막하다.나는 다음 세대가 더 편하게 취업을 했으면 하는 생각에 취업 준비 기록을 남긴다.코딩 테스트가

davidlds.tistory.com

 

면접대비 짤

 

면접

  • 자신감과 진정성

🧐 사용 방법

  • 질문에 대한 답변을 패드에 손으로 쓰며 외운다.
  • 마크다운의 목차(Outline)를 클릭하여 펼친다.
  • 질문만 보고 답변을 연습한다.

 

[데이터분석]

AB 테스트에 대하여 설명하라

  • 두 가지 버전(A와 B)을 무작위로 사용자에게 보여주고 어떤 버전이 더 효과적인지 통계적 유의성을 검증하여 의사결정에 활용하는 방법입니다.

EDA가 중요한 이유를 설명하라

  • 데이터의 특성, 패턴, 이상치를 파악하여 더 나은 의사결정을 할 수 있게 해주기 때문입니다. 데이터 전처리 방향과 분석 방법을 선택하는 데 도움을 줍니다.

좋은 feature란 무엇이고 판단하는 방법을 설명하라

  • 좋은 feature는 타겟 변수와 높은 상관관계가 있고, 다른 feature들과는 낮은 상관관계를 가지는 feature 입니다.

NoSQL과 RDBMS의 차이점을 설명하라

  • NoSQL은 유연한 스키마를 가지고 있어 대용량 데이터 처리에 적합하며 수평적 확장이 용이합니다. (=몽고DB, 카산드라) RDBMS는 정형화된 스키마와 관계를 중시하며, 데이터 일관성을 보장합니다. (=MySQL)

window 함수에 대하여 설명하라

  • 행과 행 간의 관계를 정의하여 연산하는 함수입니다. 랭킹 함수, 집계 함수 등이 있으며 partition by로 그룹을 나누고 order by로 정렬을 할 수 있습니다.

MySQL에 대량의 데이터를 insert 하는 방법을 설명하라

  • LOAD DATA INFILE을 사용하여 csv 파일을 로드하거나 여러 insert를 하나의 트랜잭션으로 묶어서 처리하면 됩니다.

쿼리 성능을 확인하는 쿼리문은 무엇인가

  • SHOW PROFILE을 사용해 쿼리의 실행 시간과 리소스 사용량을 확인할 수 있습니다. EXPLAIN을 사용하면 실행 계획을 자세하게 볼 수 있습니다.

MySQL이 느릴 때 가장 먼저 보는 것인 무엇인가

  • slow_query_log 설정을 켜서 넥이 되는 쿼리를 확인합니다. 또한 EXPLAIN으로 쿼리의 성능을 확인하고 CPU나 메모리의 상태를 확인합니다.

동작하고 있는 MySQL을 백업하는 방법은 무엇인가

  • DB가 작을 경우 논리적 백업으로 mysqldump를 하고 DB가 클 경우 물리적 백업으로 XtraBackup를 사용하면 됩니다.

Tableau를 사용하는 이유를 설명하라

  • 대시보드 제작이 쉽고 빠르기 때문입니다. 상호작용이 가능한 그래프를 그릴 수 있고 실시간으로 데이터를 업데이트할 수 있는 장점이 있습니다.

4가지 이상의 정보를 시각화하는 방법을 설명하라

  • 다차원 플랏을 설계하면 됩니다. 예를들어 뒤에 낮은 투명도로 막대 그래프를 그리고 위에 산점도 그래프를 그립니다. 산점도의 모양, 크기, 색깔을 통해서 차원을 더 추가할 수 있습니다.

파이차트가 좋지 않은 이유를 설명하라

  • 각도나 면적 비교가 어려워서 정확한 비교가 어렵습니다. 특히 비슷한 크기의 조각이 있으면 정확한 숫자를 표시해야 누가 더 큰지 알 수 있습니다.

hadoop과 spark의 차이를 설명하라

  • 하둡은 디스크 기반이고 스파크는 메모리기반 입니다. 그래서 스파크는 속도가 더 빠르고 실시간 처리가 가능하고 하둡은 배치 처리에 특화되어 있습니다.

MapReduce에 대하여 설명하라

  • 대용량 데이터 처리를 위한 분산 프로그래밍 모델입니다. 키-벨류 쌍을 생성하는 맵 단계, 맵 단계의 중간 결과를 전송하는 셔플 단계, 그룹화된 데이터를 처리해 최종 결과를 계산하는 리듀스 단계로 진행됩니다.

잘 만들어지는 MapReduce는 무엇인가

  • 특정 파티션이나 키에 집중되는 데이터 스큐 현상이 없고 네트워크 부하를 발생시키는 셔플링이 최소화된 경우 입니다. 맵 단계에서 최대한 데이터를 필터링한 뒤에 최대한 작은 양의 데이터를 가지고 리듀스 작업을 하는 것이 좋습니다.

MapReduce 중간에 fail이 나는 것을 어떻게 모니터링 하는가

  • YARN log -applicationId 나 JobTracker를 통해서 모니터링할 수 있습니다.

분산환경의 join은 (디스크, CPU, 네트워크) 중 어디서 병목이 일어나고 해결방법은 무엇인가

  • 주로 네트워크에서 병목현상이 발생합니다. 데이터 셔플링을 할 때 네트워크의 부하가 큽니다. 브로드캐스트 조인이나 버킷팅으로 개선할 수 있습니다.

암달의 법칙을 설명하고 shared-nothing 구조를 설명하라

  • 암달의 법칙은 병렬화로 얻을 수 있는 최대 성능 향상을 계산하는 법칙 입니다. shared-nothing 구조는 노드 간에 리소스를 공유하지 않는 아키텍처를 말하며 독립적인 리소스를 가지므로 네트워크 부하를 최소화 합니다.

shared-nothing의 장단점을 설명하라

  • 장점은 확장성이 높고 리소스간에 경쟁이 발생하지 않는 것이고 단점은 데이터 정합성 관리가 어렵고 노드 간 통신에서 부하가 발생할 수 있는 것입니다.

대용량 자료를 빠르게 lookup하기 위한 백엔드는 무엇인가

  • Redis 같은 인메모리 DB가 좋습니다. 키-벨류 구조로 빠른 검색이 가능하기 때문입니다.

Apache 보다 Nginx가 성능이 좋은 이유를 설명하라

  • 이벤트 기반 처리 방식으로 메모리를 적게 사용하고 동시 접속도 잘 처리하기 때문입니다. 아파치는 프로세스 기반이라 리소스를 많이 사용합니다.

node.js는 빠르지만 사용하면 안되는 경우를 설명하라

  • node.js는 CPU 집약적 계산을 목적으로 만든 언어가 아니며 싱글 스레드이기 때문에 계산 시간이 오래걸리면 다른 요청이 모두 막히기 때문입니다.

 

반응형