메모장

프론트엔드 면접질문(기타)

KIMJAVAN 2025. 1. 11. 01:27
728x90

1. 데이터 구조

  1. 데이터 구조란 무엇인가요?
    • : 데이터를 효율적으로 저장, 관리, 처리하기 위한 체계적인 방식입니다. 예: 배열, 리스트, 스택, 큐, 트리, 그래프.
  2. 스택과 큐의 차이점은?
    • :
      • 스택: LIFO(Last In, First Out) 방식. 마지막에 들어온 데이터가 먼저 나감.
        예: 브라우저의 뒤로 가기 기능.
      • : FIFO(First In, First Out) 방식. 먼저 들어온 데이터가 먼저 나감.
        예: 프린터 작업 대기열.
  3. 해시맵(HashMap)이란 무엇인가요?
    • : 키-값 쌍으로 데이터를 저장하는 데이터 구조로, 빠른 데이터 검색이 가능합니다.
      시간 복잡도는 일반적으로 O(1). 예: 자바스크립트의 Map 객체.
  4. 트리와 그래프의 차이점은?
    • :
      • 트리: 계층적 구조, 루트 노드에서 시작하며 사이클이 없음.
        예: DOM(Document Object Model).
      • 그래프: 노드와 엣지로 구성되며 사이클이 있을 수 있음.
        예: 소셜 네트워크.

2. 알고리즘

  1. 시간 복잡도(Time Complexity)란 무엇인가요?
    • : 알고리즘이 처리하는 데 걸리는 시간을 입력 크기에 따라 수학적으로 표현한 것입니다.
      예: 배열 탐색은 O(n), 이진 탐색은 O(log n).
  2. 정렬 알고리즘의 종류와 차이점은?
    • :
      • 버블 정렬: O(n²). 인접 요소를 비교하며 정렬. 느림.
      • 퀵 정렬: O(n log n). 피벗을 기준으로 분할. 빠름.
      • 병합 정렬: O(n log n). 분할 정복 기법. 안정 정렬.
      • 삽입 정렬: O(n²). 정렬된 부분에 데이터를 삽입. 간단한 데이터에 효율적.
  3. 이진 탐색(Binary Search)이란?
    • : 정렬된 배열에서 가운데 값을 기준으로 탐색 범위를 반씩 줄이는 알고리즘.
      시간 복잡도는 O(log n).
  4. DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색)의 차이점은?
    • :
      • DFS: 한 경로를 끝까지 탐색 후 다음 경로를 탐색. 스택 기반.
      • BFS: 동일 레벨의 노드를 먼저 탐색. 큐 기반.

3. 네트워크

  1. HTTP와 HTTPS의 차이점은?
    • :
      • HTTP: 텍스트 기반 통신. 암호화되지 않음.
      • HTTPS: SSL/TLS를 사용한 암호화된 통신. 보안성이 높음.
  2. DNS(Domain Name System)는 무엇인가요?
    • : 도메인 이름을 IP 주소로 변환해주는 시스템입니다.
      예: www.google.com → 142.250.74.142.
  3. HTTP 요청의 주요 메서드는?
    • :
      • GET: 데이터 조회.
      • POST: 데이터 생성.
      • PUT: 데이터 수정.
      • DELETE: 데이터 삭제.
  4. TCP와 UDP의 차이점은?
    • :
      • TCP: 연결 지향 프로토콜. 신뢰성이 높고 데이터 손실이 적음. 예: HTTP, FTP.
      • UDP: 비연결 지향 프로토콜. 속도가 빠르지만 신뢰성이 낮음. 예: 스트리밍, 게임.
  5. REST API 설계 원칙은?
    • :
      • **자원(Resource)**는 URI로 식별.
      • HTTP 메서드를 통해 작업 표현.
      • 상태 비저장성(stateless).
      • 캐싱 사용.

4. 운영체제(OS)

  1. 프로세스와 스레드의 차이점은?
    • :
      • 프로세스: 실행 중인 프로그램. 독립적 메모리 공간 사용.
      • 스레드: 프로세스 내 실행 단위. 메모리를 공유함.
  2. 동기(Synchronous)와 비동기(Asynchronous)의 차이는?
    • :
      • 동기: 작업이 순차적으로 처리됨. 이전 작업이 끝나야 다음 작업 시작.
      • 비동기: 작업이 동시에 실행. 결과는 나중에 처리.
  3. Deadlock(교착 상태)이란?
    • : 두 개 이상의 프로세스가 서로를 기다리며 무한 대기 상태에 빠지는 현상.
  4. 캐시(Cache)는 무엇이며, 왜 사용하나요?
    • : 자주 사용하는 데이터를 임시로 저장해 성능을 높이는 메모리.
      예: 브라우저 캐시로 정적 리소스 로드 속도 향상.

5. 데이터베이스

  1. SQL과 NoSQL의 차이점은?
    • :
      • SQL: 관계형 데이터베이스. 고정된 스키마. 예: MySQL, PostgreSQL.
      • NoSQL: 비관계형 데이터베이스. 유연한 스키마. 예: MongoDB.
  2. 데이터베이스에서 인덱스(Index)는 무엇인가요?
    • : 검색 속도를 높이기 위해 테이블의 특정 열을 기반으로 만든 데이터 구조.
      단점: 인덱스를 많이 만들면 쓰기 속도가 느려짐.
  3. JOIN의 종류는?
    • :
      • INNER JOIN: 교집합 데이터 반환.
      • LEFT JOIN: 왼쪽 테이블의 모든 데이터와 오른쪽의 매칭 데이터.
      • RIGHT JOIN: 오른쪽 테이블의 모든 데이터와 왼쪽의 매칭 데이터.
      • FULL JOIN: 두 테이블의 모든 데이터.