CS 기초 신입 개발자 기술면접

Ruby 신입 · 취준 (0~1년) CS 기초 5문항 조회수 33 · 2026-08-04 (화) 12:30:13
1 자료구조
Easy

Q. 스택(Stack)과 큐(Queue)의 차이점을 설명하고, 각각의 실제 활용 사례를 하나씩 말해주세요.

데이터가 삽입되고 제거되는 순서에 주목해보세요.

A. 모범답안

스택은 LIFO(Last In First Out) 구조로 마지막에 들어간 데이터가 먼저 나오는 자료구조입니다. 큐는 FIFO(First In First Out) 구조로 먼저 들어간 데이터가 먼저 나오는 자료구조입니다. 스택은 함수 호출 스택, 브라우저의 뒤로가기 기능 등에 활용되며, 큐는 프린터 작업 대기열, 메시지 큐 시스템 등에 사용됩니다. 스택은 push와 pop 연산을, 큐는 enqueue와 dequeue 연산을 주로 사용합니다.

핵심 포인트
  • • 스택은 LIFO, 큐는 FIFO 구조
  • • 스택은 함수 호출 스택에 활용
  • • 큐는 작업 대기열 처리에 활용
답변에 넣으면 좋은 키워드
LIFO FIFO push pop enqueue dequeue
실무에서는

웹 서버에서 요청을 순서대로 처리하거나, 함수 호출 흐름을 추적할 때 이 자료구조들이 사용됩니다.

Follow-up 질문

재귀 함수 호출 시 스택 오버플로우가 발생하는 이유를 설명해주세요.

2 알고리즘
Easy

Q. 시간 복잡도 O(1), O(n), O(log n)이 각각 무엇을 의미하는지 설명하고, 각각의 예시 알고리즘을 하나씩 말해주세요.

입력 크기가 증가할 때 실행 시간이 어떻게 변하는지 생각해보세요.

A. 모범답안

O(1)은 상수 시간으로 입력 크기와 관계없이 항상 일정한 시간이 소요됩니다. 배열의 인덱스 접근이 대표적인 예시입니다. O(n)은 선형 시간으로 입력 크기에 비례하여 시간이 증가하며, 배열의 순차 탐색이 해당됩니다. O(log n)은 로그 시간으로 입력이 증가해도 실행 시간이 천천히 증가하며, 이진 탐색이 대표적입니다. 일반적으로 O(1) < O(log n) < O(n) 순서로 효율적입니다.

핵심 포인트
  • • O(1)은 상수 시간, 입력 크기 무관
  • • O(n)은 선형 시간, 입력에 비례
  • • O(log n)은 로그 시간, 이진 탐색 등에 사용
답변에 넣으면 좋은 키워드
시간 복잡도 Big O 상수 시간 선형 시간 로그 시간 이진 탐색
실무에서는

대용량 데이터를 처리할 때 알고리즘의 시간 복잡도에 따라 성능 차이가 크게 발생합니다.

Follow-up 질문

O(n^2) 시간 복잡도를 가진 정렬 알고리즘을 아는 대로 말해주세요.

3 네트워크
Medium

Q. HTTP와 HTTPS의 차이점을 설명하고, HTTPS가 보안을 유지하는 방식을 간단히 설명해주세요.

데이터 암호화와 인증서가 핵심입니다.

A. 모범답안

HTTP는 평문으로 데이터를 전송하는 프로토콜이고, HTTPS는 SSL/TLS를 통해 암호화된 통신을 제공하는 프로토콜입니다. HTTPS는 공개키와 개인키를 사용한 암호화 방식으로 데이터를 보호하며, CA(인증기관)에서 발급한 인증서를 통해 서버의 신원을 검증합니다. 중간자 공격을 방지하고 데이터 무결성을 보장하여 안전한 통신을 가능하게 합니다. 최근에는 SEO와 보안 측면에서 HTTPS 사용이 표준이 되었습니다.

핵심 포인트
  • • HTTP는 평문, HTTPS는 암호화 통신
  • • SSL/TLS 프로토콜 사용
  • • 인증서를 통한 신원 검증
답변에 넣으면 좋은 키워드
HTTP HTTPS SSL TLS 암호화 인증서 CA
실무에서는

로그인, 결제 등 민감한 정보를 다루는 모든 웹 서비스에서 HTTPS를 필수로 사용합니다.

Follow-up 질문

대칭키 암호화와 비대칭키 암호화의 차이점을 설명해주세요.

4 데이터베이스
Medium

Q. 데이터베이스 인덱스(Index)란 무엇이며, 인덱스를 사용했을 때의 장점과 단점을 설명해주세요.

검색 속도와 저장 공간, 쓰기 성능의 트레이드오프를 생각해보세요.

A. 모범답안

인덱스는 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로, 책의 색인과 유사한 역할을 합니다. 장점은 SELECT 쿼리의 검색 속도가 크게 향상되고, WHERE 절이나 JOIN 조건의 성능이 개선됩니다. 단점은 인덱스를 저장할 추가 저장 공간이 필요하고, INSERT, UPDATE, DELETE 시 인덱스도 함께 수정해야 하므로 쓰기 성능이 저하됩니다. 따라서 자주 조회되지만 수정이 적은 컬럼에 인덱스를 생성하는 것이 효과적입니다.

핵심 포인트
  • • 인덱스는 검색 속도 향상을 위한 자료구조
  • • SELECT 성능 향상, 추가 저장공간 필요
  • • 쓰기 성능 저하가 단점
답변에 넣으면 좋은 키워드
인덱스 SELECT 검색 속도 저장 공간 쓰기 성능 B-Tree
실무에서는

대용량 사용자 데이터에서 특정 조건으로 빠르게 검색해야 할 때 인덱스를 적절히 설계합니다.

Follow-up 질문

모든 컬럼에 인덱스를 생성하면 안 되는 이유를 설명해주세요.

5 운영체제
Medium

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

메모리 공유 여부와 독립성, 통신 방식을 중심으로 생각해보세요.

A. 모범답안

프로세스는 운영체제로부터 자원을 할당받는 독립적인 실행 단위이고, 스레드는 프로세스 내에서 실행되는 작업의 단위입니다. 프로세스는 독립된 메모리 공간을 가지지만, 스레드는 같은 프로세스 내에서 메모리를 공유합니다. 멀티 프로세스는 안정성이 높고 독립적이지만 메모리 사용량이 많고 프로세스 간 통신이 복잡합니다. 멀티 스레드는 자원 공유가 쉽고 컨텍스트 스위칭 비용이 적지만, 하나의 스레드 오류가 전체 프로세스에 영향을 줄 수 있습니다.

핵심 포인트
  • • 프로세스는 독립적 실행 단위, 스레드는 프로세스 내 작업 단위
  • • 프로세스는 메모리 독립, 스레드는 메모리 공유
  • • 멀티 프로세스는 안정적, 멀티 스레드는 효율적
답변에 넣으면 좋은 키워드
프로세스 스레드 멀티 프로세스 멀티 스레드 메모리 공유 컨텍스트 스위칭
실무에서는

웹 서버에서 여러 요청을 동시에 처리하거나, 대용량 파일 처리 시 멀티 스레드를 활용합니다.

Follow-up 질문

동시성(Concurrency)과 병렬성(Parallelism)의 차이를 설명해주세요.

댓글 0

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

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