데이터 분석 주니어 CS 기초 기술면접

데이터 분석(Pandas) 주니어 (1~3년) CS 기초 7문항 조회수 32 · 2026-08-04 (화) 13:45:45
1 자료구조
Easy

Q. 해시 테이블(Hash Table)의 동작 원리와 시간 복잡도에 대해 설명해주세요. 파이썬의 딕셔너리(Dictionary)와는 어떤 관계인가요?

키를 인덱스로 변환하는 과정과 평균/최악의 경우를 구분해서 생각해보세요.

A. 모범답안

해시 테이블은 키를 해시 함수를 통해 인덱스로 변환하여 값을 저장하는 자료구조입니다. 평균적으로 삽입, 삭제, 조회 모두 O(1)의 시간 복잡도를 가지지만, 해시 충돌이 많이 발생하면 최악의 경우 O(n)이 될 수 있습니다. 파이썬의 딕셔너리는 해시 테이블을 내부적으로 구현한 자료구조로, 키-값 쌍을 빠르게 저장하고 검색할 수 있습니다. 데이터 분석에서 Pandas의 DataFrame 인덱싱이나 groupby 연산도 내부적으로 해시 테이블을 활용합니다.

핵심 포인트
  • • 해시 함수를 통한 키-인덱스 변환
  • • 평균 O(1), 최악 O(n) 시간 복잡도
  • • 파이썬 딕셔너리는 해시 테이블 구현체
답변에 넣으면 좋은 키워드
해시 테이블 해시 함수 시간 복잡도 O(1) 해시 충돌 딕셔너리
실무에서는

대용량 데이터에서 특정 키로 빠르게 값을 조회하거나 중복 제거 작업을 수행할 때 사용됩니다.

Follow-up 질문

해시 충돌을 해결하는 방법에는 어떤 것들이 있나요?

2 알고리즘
Medium

Q. 정렬 알고리즘 중 퀵소트(Quick Sort)와 머지소트(Merge Sort)의 시간 복잡도와 공간 복잡도를 비교하고, 각각 어떤 상황에서 유리한지 설명해주세요.

평균과 최악의 경우를 구분하고, 추가 메모리 사용 여부를 고려해보세요.

A. 모범답안

퀵소트는 평균 시간 복잡도가 O(n log n)이지만 최악의 경우 O(n²)이며, 공간 복잡도는 O(log n)입니다. 머지소트는 항상 O(n log n)의 안정적인 시간 복잡도를 보장하지만, 공간 복잡도가 O(n)으로 추가 메모리가 필요합니다. 퀵소트는 평균적으로 더 빠르고 메모리 효율적이어서 일반적인 경우에 유리하며, 머지소트는 안정 정렬이 필요하거나 최악의 경우를 피해야 할 때 유리합니다. 데이터 분석에서 대용량 데이터를 정렬할 때는 보통 안정성과 예측 가능성이 중요하므로 머지소트 계열이 선호됩니다.

핵심 포인트
  • • 퀵소트: 평균 O(n log n), 최악 O(n²), 공간 O(log n)
  • • 머지소트: 항상 O(n log n), 공간 O(n)
  • • 상황에 따른 적절한 알고리즘 선택
답변에 넣으면 좋은 키워드
퀵소트 머지소트 시간 복잡도 공간 복잡도 안정 정렬 O(n log n)
실무에서는

대용량 데이터프레임을 정렬하거나 순위를 매길 때 알고리즘의 성능 특성을 이해하면 적절한 방법을 선택할 수 있습니다.

Follow-up 질문

Pandas의 sort_values() 함수는 내부적으로 어떤 정렬 알고리즘을 사용할까요?

3 데이터베이스
Easy

Q. 관계형 데이터베이스에서 인덱스(Index)의 역할과 장단점을 설명해주세요.

책의 목차에 비유하면서 검색 속도와 저장 공간 측면을 생각해보세요.

A. 모범답안

인덱스는 데이터베이스 테이블에서 특정 컬럼의 값을 빠르게 검색하기 위한 자료구조로, 책의 목차나 색인과 유사한 역할을 합니다. 인덱스를 사용하면 WHERE 절이나 JOIN 연산에서 전체 테이블을 스캔하지 않고 빠르게 데이터를 찾을 수 있어 조회 성능이 크게 향상됩니다. 하지만 인덱스는 추가 저장 공간을 차지하며, INSERT, UPDATE, DELETE 작업 시 인덱스도 함께 갱신해야 하므로 쓰기 성능이 저하될 수 있습니다. 따라서 조회가 빈번한 컬럼에만 선택적으로 인덱스를 생성하는 것이 중요합니다.

핵심 포인트
  • • 빠른 데이터 검색을 위한 자료구조
  • • 조회 성능 향상, 쓰기 성능 저하
  • • 추가 저장 공간 필요
답변에 넣으면 좋은 키워드
인덱스 검색 성능 B-Tree 저장 공간 쓰기 성능 조회 최적화
실무에서는

대용량 데이터를 SQL로 조회할 때 인덱스 유무에 따라 쿼리 실행 시간이 수십 배 차이날 수 있습니다.

Follow-up 질문

복합 인덱스(Composite Index)는 언제 사용하면 좋을까요?

4 네트워크
Medium

Q. HTTP와 HTTPS의 차이점을 설명하고, HTTPS가 데이터를 안전하게 전송하는 원리를 간단히 설명해주세요.

암호화와 인증서의 역할을 중심으로 생각해보세요.

A. 모범답안

HTTP는 평문으로 데이터를 전송하는 프로토콜이고, HTTPS는 HTTP에 SSL/TLS 암호화 계층을 추가하여 보안을 강화한 프로토콜입니다. HTTPS는 대칭키와 비대칭키 암호화를 조합하여 사용하며, 서버는 인증 기관(CA)이 발급한 인증서로 신원을 증명합니다. 클라이언트와 서버는 핸드셰이크 과정에서 세션키를 안전하게 교환한 후, 이를 이용해 실제 데이터를 암호화하여 전송합니다. 이를 통해 데이터의 기밀성, 무결성, 인증을 보장하여 중간자 공격이나 도청을 방지할 수 있습니다.

핵심 포인트
  • • HTTP는 평문, HTTPS는 암호화 통신
  • • SSL/TLS를 통한 암호화
  • • 인증서를 통한 서버 신원 확인
답변에 넣으면 좋은 키워드
HTTPS SSL TLS 암호화 인증서 핸드셰이크 중간자 공격
실무에서는

API를 통해 민감한 데이터를 수집하거나 크롤링할 때 HTTPS를 사용하여 데이터 유출을 방지합니다.

Follow-up 질문

API를 통해 외부 데이터를 수집할 때 HTTPS를 사용해야 하는 이유는 무엇인가요?

5 운영체제
Medium

Q. 프로세스(Process)와 스레드(Thread)의 차이점을 설명하고, 멀티프로세싱과 멀티스레딩의 장단점을 비교해주세요.

메모리 공유 여부와 컨텍스트 스위칭 비용을 중심으로 생각해보세요.

A. 모범답안

프로세스는 독립적인 메모리 공간을 가진 실행 단위이고, 스레드는 프로세스 내에서 메모리를 공유하는 실행 단위입니다. 멀티프로세싱은 프로세스 간 독립성이 보장되어 안정적이지만, 메모리 사용량이 많고 프로세스 간 통신(IPC)이 복잡합니다. 멀티스레딩은 메모리를 공유하여 효율적이고 컨텍스트 스위칭이 빠르지만, 동기화 문제나 한 스레드의 오류가 전체에 영향을 줄 수 있습니다. 파이썬에서는 GIL 때문에 CPU 집약적 작업은 멀티프로세싱이, I/O 집약적 작업은 멀티스레딩이 유리합니다.

핵심 포인트
  • • 프로세스는 독립 메모리, 스레드는 메모리 공유
  • • 멀티프로세싱: 안정적, 메모리 많이 사용
  • • 멀티스레딩: 효율적, 동기화 문제 발생 가능
답변에 넣으면 좋은 키워드
프로세스 스레드 멀티프로세싱 멀티스레딩 GIL 컨텍스트 스위칭 동기화
실무에서는

대용량 데이터를 병렬로 처리하거나 여러 API를 동시에 호출할 때 적절한 병렬 처리 방식을 선택해야 합니다.

Follow-up 질문

대용량 CSV 파일을 병렬로 처리할 때 멀티프로세싱과 멀티스레딩 중 어느 것이 더 적합할까요?

6 자료구조
Medium

Q. 스택(Stack)과 큐(Queue)의 특징을 설명하고, 각각 실무에서 어떤 상황에 활용되는지 예시를 들어주세요.

데이터의 입출력 순서와 실제 사용 사례를 연결해서 생각해보세요.

A. 모범답안

스택은 LIFO(Last In First Out) 구조로 마지막에 들어간 데이터가 먼저 나오며, 큐는 FIFO(First In First Out) 구조로 먼저 들어간 데이터가 먼저 나옵니다. 스택은 함수 호출 스택, 실행 취소(Undo) 기능, 괄호 검사 등에 사용되며, 재귀 알고리즘의 기반이 됩니다. 큐는 작업 대기열, 메시지 큐, BFS 알고리즘 등에 사용되며, 순서대로 처리해야 하는 작업에 적합합니다. 데이터 분석에서는 ETL 파이프라인의 작업 스케줄링이나 스트리밍 데이터 처리에 큐가 자주 활용됩니다.

핵심 포인트
  • • 스택: LIFO, 큐: FIFO
  • • 스택: 함수 호출, 실행 취소
  • • 큐: 작업 대기열, 순차 처리
답변에 넣으면 좋은 키워드
스택 큐 LIFO FIFO 작업 대기열 BFS 파이프라인
실무에서는

배치 작업을 순서대로 처리하거나 데이터 파이프라인에서 작업 순서를 관리할 때 큐를 사용합니다.

Follow-up 질문

우선순위 큐(Priority Queue)는 일반 큐와 어떻게 다르며, 어떤 자료구조로 구현되나요?

7 데이터베이스
Medium

Q. 데이터베이스 트랜잭션의 ACID 속성에 대해 설명하고, 각 속성이 왜 중요한지 말씀해주세요.

각 속성이 보장하는 것과 실패 시 발생할 수 있는 문제를 연결해보세요.

A. 모범답안

ACID는 Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성)의 약자로 트랜잭션의 안전성을 보장하는 속성입니다. 원자성은 트랜잭션이 모두 성공하거나 모두 실패하도록 보장하여 부분 실행을 방지합니다. 일관성은 트랜잭션 전후에 데이터베이스가 항상 유효한 상태를 유지하도록 합니다. 격리성은 동시에 실행되는 트랜잭션들이 서로 간섭하지 않도록 보장하여 동시성 문제를 방지합니다. 지속성은 커밋된 트랜잭션의 결과가 시스템 장애에도 영구적으로 보존되도록 합니다. 이 속성들은 데이터의 정확성과 신뢰성을 보장하는 데 필수적입니다.

핵심 포인트
  • • Atomicity: 전부 성공 또는 전부 실패
  • • Consistency: 유효한 상태 유지
  • • Isolation: 트랜잭션 간 간섭 방지
  • • Durability: 영구적 보존
답변에 넣으면 좋은 키워드
ACID 트랜잭션 원자성 일관성 격리성 지속성 롤백 커밋
실무에서는

금융 데이터나 주문 데이터처럼 정확성이 중요한 데이터를 처리할 때 트랜잭션을 통해 데이터 무결성을 보장합니다.

Follow-up 질문

격리 수준(Isolation Level)에는 어떤 종류가 있으며, 각각 어떤 문제를 방지할 수 있나요?

댓글 0

로그인 후 댓글을 작성할 수 있습니다.

아직 댓글이 없습니다. 첫 번째 댓글을 남겨보세요!