- 프론트엔드 면접질문(기타)2025년 01월 11일
- KIMJAVAN
- 작성자
- 2025.01.11.:27
728x901. 데이터 구조
- 데이터 구조란 무엇인가요?
- 답: 데이터를 효율적으로 저장, 관리, 처리하기 위한 체계적인 방식입니다. 예: 배열, 리스트, 스택, 큐, 트리, 그래프.
- 스택과 큐의 차이점은?
- 답:
- 스택: LIFO(Last In, First Out) 방식. 마지막에 들어온 데이터가 먼저 나감.
예: 브라우저의 뒤로 가기 기능. - 큐: FIFO(First In, First Out) 방식. 먼저 들어온 데이터가 먼저 나감.
예: 프린터 작업 대기열.
- 스택: LIFO(Last In, First Out) 방식. 마지막에 들어온 데이터가 먼저 나감.
- 답:
- 해시맵(HashMap)이란 무엇인가요?
- 답: 키-값 쌍으로 데이터를 저장하는 데이터 구조로, 빠른 데이터 검색이 가능합니다.
시간 복잡도는 일반적으로 O(1). 예: 자바스크립트의 Map 객체.
- 답: 키-값 쌍으로 데이터를 저장하는 데이터 구조로, 빠른 데이터 검색이 가능합니다.
- 트리와 그래프의 차이점은?
- 답:
- 트리: 계층적 구조, 루트 노드에서 시작하며 사이클이 없음.
예: DOM(Document Object Model). - 그래프: 노드와 엣지로 구성되며 사이클이 있을 수 있음.
예: 소셜 네트워크.
- 트리: 계층적 구조, 루트 노드에서 시작하며 사이클이 없음.
- 답:
2. 알고리즘
- 시간 복잡도(Time Complexity)란 무엇인가요?
- 답: 알고리즘이 처리하는 데 걸리는 시간을 입력 크기에 따라 수학적으로 표현한 것입니다.
예: 배열 탐색은 O(n), 이진 탐색은 O(log n).
- 답: 알고리즘이 처리하는 데 걸리는 시간을 입력 크기에 따라 수학적으로 표현한 것입니다.
- 정렬 알고리즘의 종류와 차이점은?
- 답:
- 버블 정렬: O(n²). 인접 요소를 비교하며 정렬. 느림.
- 퀵 정렬: O(n log n). 피벗을 기준으로 분할. 빠름.
- 병합 정렬: O(n log n). 분할 정복 기법. 안정 정렬.
- 삽입 정렬: O(n²). 정렬된 부분에 데이터를 삽입. 간단한 데이터에 효율적.
- 답:
- 이진 탐색(Binary Search)이란?
- 답: 정렬된 배열에서 가운데 값을 기준으로 탐색 범위를 반씩 줄이는 알고리즘.
시간 복잡도는 O(log n).
- 답: 정렬된 배열에서 가운데 값을 기준으로 탐색 범위를 반씩 줄이는 알고리즘.
- DFS(깊이 우선 탐색)와 BFS(너비 우선 탐색)의 차이점은?
- 답:
- DFS: 한 경로를 끝까지 탐색 후 다음 경로를 탐색. 스택 기반.
- BFS: 동일 레벨의 노드를 먼저 탐색. 큐 기반.
- 답:
3. 네트워크
- HTTP와 HTTPS의 차이점은?
- 답:
- HTTP: 텍스트 기반 통신. 암호화되지 않음.
- HTTPS: SSL/TLS를 사용한 암호화된 통신. 보안성이 높음.
- 답:
- DNS(Domain Name System)는 무엇인가요?
- 답: 도메인 이름을 IP 주소로 변환해주는 시스템입니다.
예: www.google.com → 142.250.74.142.
- 답: 도메인 이름을 IP 주소로 변환해주는 시스템입니다.
- HTTP 요청의 주요 메서드는?
- 답:
- GET: 데이터 조회.
- POST: 데이터 생성.
- PUT: 데이터 수정.
- DELETE: 데이터 삭제.
- 답:
- TCP와 UDP의 차이점은?
- 답:
- TCP: 연결 지향 프로토콜. 신뢰성이 높고 데이터 손실이 적음. 예: HTTP, FTP.
- UDP: 비연결 지향 프로토콜. 속도가 빠르지만 신뢰성이 낮음. 예: 스트리밍, 게임.
- 답:
- REST API 설계 원칙은?
- 답:
- **자원(Resource)**는 URI로 식별.
- HTTP 메서드를 통해 작업 표현.
- 상태 비저장성(stateless).
- 캐싱 사용.
- 답:
4. 운영체제(OS)
- 프로세스와 스레드의 차이점은?
- 답:
- 프로세스: 실행 중인 프로그램. 독립적 메모리 공간 사용.
- 스레드: 프로세스 내 실행 단위. 메모리를 공유함.
- 답:
- 동기(Synchronous)와 비동기(Asynchronous)의 차이는?
- 답:
- 동기: 작업이 순차적으로 처리됨. 이전 작업이 끝나야 다음 작업 시작.
- 비동기: 작업이 동시에 실행. 결과는 나중에 처리.
- 답:
- Deadlock(교착 상태)이란?
- 답: 두 개 이상의 프로세스가 서로를 기다리며 무한 대기 상태에 빠지는 현상.
- 캐시(Cache)는 무엇이며, 왜 사용하나요?
- 답: 자주 사용하는 데이터를 임시로 저장해 성능을 높이는 메모리.
예: 브라우저 캐시로 정적 리소스 로드 속도 향상.
- 답: 자주 사용하는 데이터를 임시로 저장해 성능을 높이는 메모리.
5. 데이터베이스
- SQL과 NoSQL의 차이점은?
- 답:
- SQL: 관계형 데이터베이스. 고정된 스키마. 예: MySQL, PostgreSQL.
- NoSQL: 비관계형 데이터베이스. 유연한 스키마. 예: MongoDB.
- 답:
- 데이터베이스에서 인덱스(Index)는 무엇인가요?
- 답: 검색 속도를 높이기 위해 테이블의 특정 열을 기반으로 만든 데이터 구조.
단점: 인덱스를 많이 만들면 쓰기 속도가 느려짐.
- 답: 검색 속도를 높이기 위해 테이블의 특정 열을 기반으로 만든 데이터 구조.
- JOIN의 종류는?
- 답:
- INNER JOIN: 교집합 데이터 반환.
- LEFT JOIN: 왼쪽 테이블의 모든 데이터와 오른쪽의 매칭 데이터.
- RIGHT JOIN: 오른쪽 테이블의 모든 데이터와 왼쪽의 매칭 데이터.
- FULL JOIN: 두 테이블의 모든 데이터.
- 답:
'메모장' 카테고리의 다른 글
프론트엔드 면접질문(기술2) (0) 2025.01.11 프론트엔드 면접질문 (기술) (1) 2025.01.11 프론트엔드 면접질문 (1) 2024.12.20 비티진 끝내기 계획 (0) 2024.01.23 [nodejs] 댓글 작성 로직 메모 (0) 2024.01.19 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)