← 퀴즈 문제은행

IT용어 문제은행

1~25번 · 총 100문제 · 정답과 해설 제공

AI·클라우드·프로그래밍·네트워크를 다루는 IT용어 상식 퀴즈 1~25번입니다. 각 문제의 정답 보기를 눌러 정답과 해설을 확인하고, 준비가 되면 실전 퀴즈로 실력을 점검해보세요.

IT용어 퀴즈 시작하기

100문제 중 랜덤 10문제 출제 · 15초 제한

Q1. OSI 7계층에서 데이터 암호화와 압축을 담당하는 계층은?

  1. 1) 세션 계층
  2. 2) 표현 계층
  3. 3) 전송 계층
  4. 4) 응용 계층
정답 보기

정답: 표현 계층

표현 계층(6계층)은 데이터의 인코딩, 암호화, 압축 등 데이터 형식 변환을 담당합니다. 세션 계층은 연결 관리, 전송 계층은 신뢰성 있는 데이터 전송을 담당합니다.

Q2. TCP 3-way handshake의 올바른 순서는?

  1. 1) SYN → ACK → SYN-ACK
  2. 2) SYN → SYN-ACK → ACK
  3. 3) ACK → SYN → SYN-ACK
  4. 4) SYN-ACK → SYN → ACK
정답 보기

정답: SYN → SYN-ACK → ACK

TCP 연결 수립은 클라이언트 SYN → 서버 SYN-ACK → 클라이언트 ACK 순서로 진행됩니다. 이 과정을 통해 양방향 통신 채널이 확립되며, 연결 해제 시에는 4-way handshake를 사용합니다.

Q3. HTTP 상태 코드 201과 204의 차이로 올바른 것은?

  1. 1) 201은 리다이렉트, 204는 성공
  2. 2) 201은 리소스 생성 성공, 204는 성공이지만 응답 본문 없음
  3. 3) 201은 캐시 사용, 204는 변경 없음
  4. 4) 201은 서버 오류, 204는 클라이언트 오류
정답 보기

정답: 201은 리소스 생성 성공, 204는 성공이지만 응답 본문 없음

201 Created는 새 리소스가 성공적으로 생성되었음을 의미하고, 204 No Content는 요청은 성공했지만 응답 본문이 없음을 의미합니다. REST API에서 POST는 201, DELETE는 204를 반환하는 것이 일반적입니다.

Q4. HTTP 상태 코드 401과 403의 차이로 올바른 것은?

  1. 1) 401은 서버 오류, 403은 클라이언트 오류
  2. 2) 401은 인증 실패, 403은 인가(권한) 실패
  3. 3) 401은 요청 형식 오류, 403은 리소스 없음
  4. 4) 401과 403은 동일한 의미
정답 보기

정답: 401은 인증 실패, 403은 인가(권한) 실패

401 Unauthorized는 인증되지 않은 상태(로그인 필요)를 의미하고, 403 Forbidden은 인증은 되었지만 해당 리소스에 대한 권한이 없음을 의미합니다. 이름과 달리 401이 인증, 403이 인가 관련입니다.

Q5. DNS 레코드 중 CNAME의 역할은?

  1. 1) IP 주소를 도메인에 매핑
  2. 2) 도메인을 다른 도메인의 별칭으로 지정
  3. 3) 메일 서버를 지정
  4. 4) IPv6 주소를 매핑
정답 보기

정답: 도메인을 다른 도메인의 별칭으로 지정

CNAME(Canonical Name) 레코드는 하나의 도메인을 다른 도메인의 별칭으로 설정합니다. A 레코드가 IP를 직접 매핑하는 반면, CNAME은 도메인 간 매핑입니다. AAAA는 IPv6, MX는 메일 서버를 지정합니다.

Q6. CDN의 주요 동작 원리로 올바른 것은?

  1. 1) 원본 서버의 성능을 높여 응답 속도 향상
  2. 2) 사용자와 가까운 엣지 서버에서 캐시된 콘텐츠를 제공
  3. 3) 클라이언트 측에서 데이터를 압축하여 전송
  4. 4) DNS를 우회하여 직접 IP로 접속
정답 보기

정답: 사용자와 가까운 엣지 서버에서 캐시된 콘텐츠를 제공

CDN(Content Delivery Network)은 전 세계에 분산된 엣지 서버에 콘텐츠를 캐싱하여, 사용자에게 가장 가까운 서버에서 콘텐츠를 제공합니다. 이를 통해 지연 시간을 줄이고 원본 서버의 부하를 감소시킵니다.

Q7. SSL/TLS 핸드셰이크에서 서버가 클라이언트에게 보내는 것은?

  1. 1) 클라이언트의 개인키
  2. 2) 서버의 SSL 인증서(공개키 포함)
  3. 3) 대칭키
  4. 4) 세션 쿠키
정답 보기

정답: 서버의 SSL 인증서(공개키 포함)

TLS 핸드셰이크에서 서버는 자신의 SSL 인증서(공개키 포함)를 클라이언트에게 보냅니다. 클라이언트는 이 공개키로 대칭키(세션키)를 암호화하여 전송하고, 이후 통신은 이 대칭키로 암호화됩니다.

Q8. CIDR 표기법 192.168.1.0/24에서 사용 가능한 호스트 수는?

  1. 1) 256개
  2. 2) 254개
  3. 3) 255개
  4. 4) 252개
정답 보기

정답: 254개

/24는 서브넷 마스크 255.255.255.0을 의미하며 총 256개 IP를 가집니다. 여기서 네트워크 주소(192.168.1.0)와 브로드캐스트 주소(192.168.1.255)를 제외하면 실제 사용 가능한 호스트는 254개입니다.

Q9. WebSocket과 HTTP Long Polling의 가장 큰 차이점은?

  1. 1) WebSocket은 단방향, Long Polling은 양방향
  2. 2) WebSocket은 지속적 양방향 연결, Long Polling은 반복적 HTTP 요청
  3. 3) Long Polling이 더 낮은 지연 시간을 보장
  4. 4) WebSocket은 HTTP/2에서만 사용 가능
정답 보기

정답: WebSocket은 지속적 양방향 연결, Long Polling은 반복적 HTTP 요청

WebSocket은 초기 HTTP 핸드셰이크 후 지속적인 양방향(full-duplex) 연결을 유지합니다. Long Polling은 서버가 응답할 때까지 HTTP 요청을 대기시키고, 응답 후 다시 요청하는 방식으로 실시간성을 흉내냅니다.

Q10. gRPC가 REST보다 성능이 좋은 주된 이유는?

  1. 1) JSON 대신 XML을 사용해서
  2. 2) HTTP/2와 Protocol Buffers(바이너리 직렬화)를 사용해서
  3. 3) TCP 대신 UDP를 사용해서
  4. 4) 캐싱을 기본 지원해서
정답 보기

정답: HTTP/2와 Protocol Buffers(바이너리 직렬화)를 사용해서

gRPC는 HTTP/2 기반으로 멀티플렉싱을 지원하고, Protocol Buffers라는 바이너리 직렬화 형식을 사용하여 JSON보다 빠른 직렬화/역직렬화와 작은 페이로드 크기를 달성합니다.

Q11. HTTP 301과 302 리다이렉트의 차이는?

  1. 1) 301은 GET 전용, 302는 모든 메서드
  2. 2) 301은 영구 이동, 302는 임시 이동
  3. 3) 301은 클라이언트 오류, 302는 서버 오류
  4. 4) 301은 캐시 불가, 302는 캐시 가능
정답 보기

정답: 301은 영구 이동, 302는 임시 이동

301 Moved Permanently는 리소스가 영구적으로 이동했음을 의미하여 검색 엔진이 새 URL로 인덱싱합니다. 302 Found는 임시 이동으로 원래 URL이 유지됩니다. SEO에서 301은 링크 주스를 전달합니다.

Q12. TCP에서 흐름 제어(Flow Control)에 사용되는 메커니즘은?

  1. 1) 3-way handshake
  2. 2) 슬라이딩 윈도우(Sliding Window)
  3. 3) NAT 변환
  4. 4) ARP 브로드캐스트
정답 보기

정답: 슬라이딩 윈도우(Sliding Window)

슬라이딩 윈도우는 수신 측이 자신의 버퍼 크기를 송신 측에 알려주어, 송신 측이 확인 응답 없이 보낼 수 있는 데이터 양을 조절하는 흐름 제어 메커니즘입니다.

Q13. SSE(Server-Sent Events)의 특징으로 올바른 것은?

  1. 1) 클라이언트에서 서버로 단방향 통신
  2. 2) 서버에서 클라이언트로 단방향 통신
  3. 3) WebSocket보다 항상 빠름
  4. 4) UDP 기반 통신
정답 보기

정답: 서버에서 클라이언트로 단방향 통신

SSE(Server-Sent Events)는 HTTP 기반으로 서버에서 클라이언트로의 단방향 실시간 데이터 스트리밍을 지원합니다. WebSocket과 달리 양방향이 아니지만, 알림이나 실시간 피드 등 서버→클라이언트 방향만 필요한 경우 더 간단하게 구현할 수 있습니다.

Q14. 로드밸런서의 라운드 로빈(Round Robin) 알고리즘의 단점은?

  1. 1) 구현이 매우 복잡하다
  2. 2) 서버의 현재 부하 상태를 고려하지 않는다
  3. 3) 특정 서버에만 트래픽이 집중된다
  4. 4) SSL 연결을 지원하지 않는다
정답 보기

정답: 서버의 현재 부하 상태를 고려하지 않는다

라운드 로빈은 요청을 순서대로 각 서버에 돌아가며 분배하는 가장 단순한 알고리즘입니다. 각 서버의 실제 처리 능력이나 현재 부하를 고려하지 않아, 서버 사양이 다르거나 요청 처리 시간이 다를 경우 비효율적일 수 있습니다.

Q15. UDP가 TCP보다 적합한 사용 사례는?

  1. 1) 파일 전송(FTP)
  2. 2) 이메일 전송(SMTP)
  3. 3) 실시간 영상 스트리밍
  4. 4) 웹 페이지 로딩(HTTP)
정답 보기

정답: 실시간 영상 스트리밍

UDP는 연결 설정 없이 빠르게 데이터를 전송하므로, 실시간 영상/음성 스트리밍, 온라인 게임 등 약간의 패킷 손실보다 낮은 지연 시간이 중요한 애플리케이션에 적합합니다. TCP의 재전송 메커니즘은 이런 경우 오히려 성능을 저하시킵니다.

Q16. 퀵소트(Quick Sort)의 최악 시간복잡도는?

  1. 1) O(n log n)
  2. 2) O(n²)
  3. 3) O(n)
  4. 4) O(log n)
정답 보기

정답: O(n²)

퀵소트의 평균 시간복잡도는 O(n log n)이지만, 최악의 경우(피벗이 항상 최솟값이나 최댓값일 때) O(n²)이 됩니다. 이를 방지하기 위해 랜덤 피벗 선택이나 중앙값(median-of-three) 전략을 사용합니다.

Q17. 다음 중 안정 정렬(Stable Sort)이 아닌 것은?

  1. 1) 병합 정렬(Merge Sort)
  2. 2) 삽입 정렬(Insertion Sort)
  3. 3) 힙 정렬(Heap Sort)
  4. 4) 버블 정렬(Bubble Sort)
정답 보기

정답: 힙 정렬(Heap Sort)

힙 정렬은 불안정 정렬입니다. 힙 구조에서 원소를 교환하는 과정에서 같은 값의 원소 간 상대적 순서가 바뀔 수 있습니다. 퀵소트, 선택 정렬도 불안정 정렬에 해당합니다.

Q18. B-트리와 B+트리의 주요 차이점은?

  1. 1) B-트리는 이진 트리이고, B+트리는 다진 트리이다
  2. 2) B+트리는 리프 노드에만 데이터를 저장하고 리프끼리 연결 리스트로 연결된다
  3. 3) B-트리는 균형 트리가 아니다
  4. 4) B+트리는 삽입/삭제가 불가능하다
정답 보기

정답: B+트리는 리프 노드에만 데이터를 저장하고 리프끼리 연결 리스트로 연결된다

B+트리는 모든 실제 데이터를 리프 노드에만 저장하고, 리프 노드들이 연결 리스트로 연결되어 범위 검색에 효율적입니다. B-트리는 내부 노드에도 데이터를 저장합니다. 이 차이 때문에 DBMS 인덱스는 주로 B+트리를 사용합니다.

Q19. 해시 충돌(Hash Collision) 해결 방법 중 체이닝(Chaining)의 특징은?

  1. 1) 빈 슬롯을 찾아 삽입하는 방식
  2. 2) 충돌 시 같은 버킷에 연결 리스트로 저장하는 방식
  3. 3) 해시 함수를 두 개 사용하는 방식
  4. 4) 테이블 크기를 자동으로 줄이는 방식
정답 보기

정답: 충돌 시 같은 버킷에 연결 리스트로 저장하는 방식

체이닝(Separate Chaining)은 같은 해시 값을 가진 원소들을 해당 버킷에 연결 리스트(또는 트리) 형태로 저장합니다. 개방 주소법(Open Addressing)은 빈 슬롯을 탐사하여 삽입하는 방식입니다.

Q20. SOLID 원칙 중 "리스코프 치환 원칙(LSP)"의 의미는?

  1. 1) 클래스는 하나의 책임만 가져야 한다
  2. 2) 하위 타입은 상위 타입을 대체할 수 있어야 한다
  3. 3) 인터페이스는 작게 분리해야 한다
  4. 4) 구체적인 것이 아닌 추상에 의존해야 한다
정답 보기

정답: 하위 타입은 상위 타입을 대체할 수 있어야 한다

리스코프 치환 원칙(LSP)은 자식 클래스가 부모 클래스를 대체하더라도 프로그램의 정확성이 유지되어야 한다는 원칙입니다. 즉, 부모 타입을 사용하는 코드에서 자식 타입을 넣어도 동일하게 동작해야 합니다.

Q21. 데드락(Deadlock) 발생의 4가지 필요 조건에 해당하지 않는 것은?

  1. 1) 상호 배제(Mutual Exclusion)
  2. 2) 점유 대기(Hold and Wait)
  3. 3) 선점 가능(Preemption)
  4. 4) 순환 대기(Circular Wait)
정답 보기

정답: 선점 가능(Preemption)

데드락 발생의 4가지 필요 조건은 상호 배제, 점유 대기, 비선점(No Preemption), 순환 대기입니다. "선점 가능"이 아니라 "비선점"이 조건입니다. 즉, 자원을 강제로 뺏을 수 없어야 데드락이 발생할 수 있습니다.

Q22. 뮤텍스(Mutex)와 세마포어(Semaphore)의 차이로 올바른 것은?

  1. 1) 뮤텍스는 여러 스레드가 동시 접근 가능하다
  2. 2) 뮤텍스는 소유 개념이 있고 잠근 스레드만 해제 가능하다
  3. 3) 세마포어는 이진값만 가질 수 있다
  4. 4) 뮤텍스와 세마포어는 완전히 동일하다
정답 보기

정답: 뮤텍스는 소유 개념이 있고 잠근 스레드만 해제 가능하다

뮤텍스는 소유권(ownership) 개념이 있어 잠금을 건 스레드만 해제할 수 있고, 한 번에 하나의 스레드만 접근을 허용합니다. 세마포어는 카운터 기반으로 지정된 수만큼의 동시 접근을 허용하며, 다른 스레드가 시그널을 보낼 수 있습니다.

Q23. 함수형 프로그래밍에서 "커링(Currying)"이란?

  1. 1) 함수의 실행을 지연시키는 기법
  2. 2) 여러 인자를 받는 함수를 단일 인자 함수의 체인으로 변환
  3. 3) 함수 내부에서 외부 변수를 참조하는 것
  4. 4) 재귀 함수를 반복문으로 변환하는 것
정답 보기

정답: 여러 인자를 받는 함수를 단일 인자 함수의 체인으로 변환

커링은 f(a, b, c)를 f(a)(b)(c) 형태로 변환하는 기법입니다. 다인자 함수를 단일 인자를 받는 함수의 연쇄로 바꿔, 부분 적용(Partial Application)이 가능하게 합니다. 클로저(Closure)는 외부 변수를 참조하는 것입니다.

Q24. Git에서 rebase와 merge의 차이로 올바른 것은?

  1. 1) rebase는 커밋 이력을 직선으로 만들고, merge는 병합 커밋을 생성한다
  2. 2) merge는 커밋을 삭제하고, rebase는 보존한다
  3. 3) rebase는 원격 저장소에서만 사용 가능하다
  4. 4) merge와 rebase의 결과물은 항상 동일하다
정답 보기

정답: rebase는 커밋 이력을 직선으로 만들고, merge는 병합 커밋을 생성한다

rebase는 현재 브랜치의 커밋들을 대상 브랜치 위로 재배치하여 직선적인 히스토리를 만듭니다. merge는 두 브랜치의 변경사항을 합치는 병합 커밋을 생성합니다. rebase는 히스토리가 깔끔하지만, 공유 브랜치에서는 주의가 필요합니다.

Q25. Git에서 reset과 revert의 차이는?

  1. 1) reset은 커밋을 삭제하고, revert는 되돌리는 새 커밋을 생성한다
  2. 2) revert는 커밋을 삭제하고, reset은 새 커밋을 생성한다
  3. 3) reset은 원격에서만, revert는 로컬에서만 사용
  4. 4) 둘 다 동일한 결과를 낸다
정답 보기

정답: reset은 커밋을 삭제하고, revert는 되돌리는 새 커밋을 생성한다

git reset은 HEAD를 과거 커밋으로 이동시켜 이후 커밋을 히스토리에서 제거합니다. git revert는 특정 커밋의 변경을 되돌리는 새로운 커밋을 생성합니다. 공유 브랜치에서는 히스토리를 보존하는 revert가 안전합니다.

다른 카테고리 문제은행