신입 개발자 면접에서 반복해서 나오는 자료구조·네트워크·데이터베이스·운영체제 핵심 개념 40장.
카드 40장
- 1기본형
배열과 연결 리스트의 가장 큰 차이는?
배열은 메모리에 연속 배치돼 인덱스 임의 접근이 O(1)이지만 중간 삽입·삭제가 O(n)이다. 연결 리스트는 노드가 흩어져 있어 임의 접근이 O(n)이지만, 위치를 알고 있다면 삽입·삭제는 O(1)이다.
- 2기본형
해시 테이블의 평균 조회 시간이 O(1)인 이유와, 최악이 O(n)이 되는 경우는?
키를 해시 함수로 버킷 인덱스로 바꿔 바로 접근하므로 평균 O(1)이다. 모든 키가 같은 버킷으로 충돌하면 그 버킷의 체인을 전부 훑어야 해 O(n)이 된다.
- 3기본형
스택과 큐의 차이는?
스택은 LIFO(후입선출)로 함수 호출·되돌리기에 쓰이고, 큐는 FIFO(선입선출)로 작업 대기열·BFS에 쓰인다.
- 4기본형
프로세스와 스레드의 차이는?
프로세스는 독립된 메모리 공간을 가진 실행 단위이고, 스레드는 한 프로세스 안에서 코드·데이터·힙을 공유하며 스택과 레지스터만 따로 갖는 실행 흐름이다. 스레드 간 통신은 싸지만 동기화 문제가 생긴다.
- 5기본형
교착 상태(deadlock)의 네 가지 필요조건은?
상호 배제, 점유와 대기, 비선점, 순환 대기. 네 조건이 동시에 성립할 때만 발생하므로 하나만 깨도 예방된다.
- 6기본형
TCP와 UDP의 차이는?
TCP는 연결 지향으로 3-way handshake·순서 보장·재전송·흐름 제어를 제공한다. UDP는 비연결형이라 헤더가 작고 지연이 낮지만 순서·도착을 보장하지 않는다. 실시간 스트리밍·DNS에 UDP를 쓴다.
- 7기본형
HTTP와 HTTPS의 차이는?
HTTPS는 HTTP를 TLS 위에서 주고받아 암호화·무결성·서버 인증을 더한 것이다. 기본 포트는 HTTP 80, HTTPS 443이다.
- 8기본형
쿠키·세션·JWT로 로그인 상태를 유지할 때 각각의 차이는?
세션은 서버가 상태를 저장하고 클라이언트는 세션 ID만 쿠키로 들고 다닌다(서버에서 즉시 무효화 가능). JWT는 서명된 토큰 자체에 정보가 들어 있어 서버가 상태를 안 가져도 되지만, 만료 전 강제 무효화가 어렵다.
- 9기본형
데이터베이스 인덱스는 왜 조회를 빠르게 하고, 무엇을 대가로 치르는가?
정렬된 B-tree 구조로 탐색 범위를 로그 규모로 줄여 조회가 빨라진다. 대신 저장 공간을 더 쓰고, INSERT·UPDATE·DELETE 때 인덱스도 갱신해야 해서 쓰기가 느려진다.
- 10기본형
트랜잭션의 ACID는 무엇의 약자인가?
Atomicity(원자성), Consistency(일관성), Isolation(격리성), Durability(지속성).
- 11기본형
정규화를 하는 이유와, 일부러 반정규화하는 이유는?
정규화는 중복을 없애 갱신 이상을 막는다. 하지만 조인이 늘어 조회가 느려지므로, 읽기가 압도적으로 많은 화면에서는 일부러 중복 컬럼을 두는 반정규화로 조인을 줄인다.
- 12기본형
REST API에서 PUT과 PATCH의 차이는?
PUT은 자원 전체를 보낸 값으로 교체하고(멱등), PATCH는 보낸 필드만 부분 수정한다. PUT은 같은 요청을 여러 번 보내도 결과가 같다.
- 13타이핑
시간 복잡도에서 입력이 커질수록 실행 시간이 절반씩 줄어드는 탐색의 복잡도를 빅오 표기로 쓰시오.
O(log n)
- 14타이핑
TCP가 연결을 수립할 때 주고받는 세 단계 절차의 이름은? (영문)
3-way handshake
- 15타이핑
HTTP 상태 코드 중 "요청한 자원을 찾을 수 없음"을 뜻하는 숫자는?
404
- 16타이핑
관계형 데이터베이스에서 다른 테이블의 기본 키를 참조해 무결성을 보장하는 키의 이름은?
외래 키
- 17타이핑
두 개 이상의 스레드가 서로의 자원을 기다리며 영원히 진행되지 않는 상태를 뜻하는 용어는? (한글)
교착 상태
- 18타이핑
캐시에서 찾는 데이터가 존재해 바로 응답할 수 있는 상황을 부르는 말은? (영문 2단어)
cache hit
- 19타이핑
자바에서 사용하지 않는 객체의 메모리를 자동으로 회수하는 기능의 이름은? (영문)
garbage collection
- 20타이핑
SQL에서 그룹별 집계 결과에 조건을 거는 절의 이름은?
HAVING
댓글 0
첫 댓글을 남겨보세요.
로그인하고 댓글 남기기
로그인