면접대비
개발자 기술면접질문지 리스트(Java, Network, OS, DB)
seoeunpapa
2025. 1. 12. 23:12
728x90
기술면접질문지
Java 기술면접 질문 (30개)
- JVM의 구조와 동작 원리에 대해 설명해주세요.
- Java의 메모리 영역(Memory Area)에 대해 설명해주세요.
- Garbage Collection의 동작 방식과 종류에 대해 설명해주세요.
- Java의 접근 제어자(Access Modifier)의 종류와 특징을 설명해주세요.
- 객체지향 프로그래밍의 4가지 특징에 대해 설명해주세요.
- 추상 클래스와 인터페이스의 차이점은 무엇인가요?
- 오버로딩(Overloading)과 오버라이딩(Overriding)의 차이점을 설명해주세요.
- String, StringBuilder, StringBuffer의 차이점을 설명해주세요.
- Java의 제네릭(Generic)은 무엇이며, 왜 사용하나요?
- Collection Framework에 대해 설명하고 주요 인터페이스들을 설명해주세요.
- ArrayList와 LinkedList의 차이점은 무엇인가요?
- HashMap의 동작 원리와 시간 복잡도에 대해 설명해주세요.
- 쓰레드(Thread)와 프로세스(Process)의 차이점은 무엇인가요?
- synchronized 키워드는 언제 사용하며 어떤 문제를 해결하나요?
- Java의 예외 처리 방식에 대해 설명해주세요.
- Checked Exception과 Unchecked Exception의 차이는 무엇인가요?
- final, finally, finalize의 차이점을 설명해주세요.
- Java 8에서 추가된 주요 기능들에 대해 설명해주세요.
- 람다식(Lambda Expression)은 무엇이며 어떤 장점이 있나요?
- Stream API의 특징과 사용 목적을 설명해주세요.
- Optional 클래스는 무엇이며 왜 사용하나요?
- 함수형 인터페이스(Functional Interface)란 무엇인가요?
- Java의 직렬화(Serialization)와 역직렬화(Deserialization)에 대해 설명해주세요.
- 리플렉션(Reflection)이란 무엇이며 어떤 경우에 사용되나요?
- 어노테이션(Annotation)은 무엇이며 어떤 용도로 사용되나요?
- Java의 동시성(Concurrency) 관련 주요 클래스들을 설명해주세요.
- 불변 객체(Immutable Object)란 무엇이며 어떻게 만들 수 있나요?
- Java의 추상화(Abstraction)와 캡슐화(Encapsulation)의 차이점은 무엇인가요?
- static 키워드의 용도와 특징을 설명해주세요.
- equals()와 hashCode() 메서드의 관계와 오버라이딩 시 주의점을 설명해주세요.
Network 기술면접 질문 (30개)
- OSI 7계층과 TCP/IP 4계층에 대해 설명해주세요.
- TCP와 UDP의 차이점을 설명해주세요.
- TCP의 3-way handshake와 4-way handshake에 대해 설명해주세요.
- HTTP와 HTTPS의 차이점은 무엇인가요?
- HTTP 요청 메서드들의 종류와 특징을 설명해주세요.
- REST API란 무엇이며, RESTful의 특징을 설명해주세요.
- HTTP 상태 코드의 종류와 의미를 설명해주세요.
- IP 주소의 클래스(A, B, C, D, E)에 대해 설명해주세요.
- 서브넷 마스크(Subnet Mask)란 무엇인가요?
- IPv4와 IPv6의 차이점은 무엇인가요?
- DNS의 동작 원리와 레코드 종류에 대해 설명해주세요.
- 로드 밸런싱(Load Balancing)이란 무엇이며, 주요 알고리즘은 무엇이 있나요?
- CORS(Cross-Origin Resource Sharing)란 무엇이며 어떻게 해결하나요?
- 웹 소켓(WebSocket)이란 무엇이며 어떤 경우에 사용되나요?
- SSL/TLS의 동작 방식과 암호화 과정을 설명해주세요.
- 프록시 서버(Proxy Server)란 무엇이며 어떤 용도로 사용되나요?
- NAT(Network Address Translation)의 개념과 사용 목적을 설명해주세요.
- ARP(Address Resolution Protocol)의 동작 원리를 설명해주세요.
- 라우팅(Routing)이란 무엇이며, 주요 라우팅 프로토콜은 무엇이 있나요?
- 멀티캐스트(Multicast)와 브로드캐스트(Broadcast)의 차이점은 무엇인가요?
- TCP의 흐름제어와 혼잡제어에 대해 설명해주세요.
- 세션(Session)과 쿠키(Cookie)의 차이점은 무엇인가요?
- JWT(JSON Web Token)란 무엇이며 어떤 구조로 이루어져 있나요?
- OAuth의 동작 방식과 활용 사례를 설명해주세요.
- HTTP/1.1과 HTTP/2.0의 차이점은 무엇인가요?
- 캐시(Cache)의 종류와 동작 방식에 대해 설명해주세요.
- 네트워크 보안을 위한 주요 프로토콜들을 설명해주세요.
- 로드 밸런서(Load Balancer)의 종류와 특징을 설명해주세요.
- keepalive란 무엇이며 어떤 용도로 사용되나요?
- 웹 브라우저에서 URL을 입력하고 페이지가 표시되기까지의 과정을 설명해주세요.
Operating System 기술면접 질문 (30개)
- 운영체제의 주요 역할과 기능에 대해 설명해주세요.
- 프로세스와 쓰레드의 차이점을 설명해주세요.
- 프로세스의 상태(생성, 준비, 실행, 대기, 종료)에 대해 설명해주세요.
- 컨텍스트 스위칭(Context Switching)이란 무엇인가요?
- 프로세스 스케줄링의 종류와 특징을 설명해주세요.
- 데드락(Deadlock)이란 무엇이며, 발생 조건과 해결 방법은 무엇인가요?
- 메모리 관리 기법들에 대해 설명해주세요.
- 페이징(Paging)과 세그멘테이션(Segmentation)의 차이점은 무엇인가요?
- 가상 메모리(Virtual Memory)란 무엇이며 어떻게 동작하나요?
- 페이지 교체 알고리즘의 종류와 특징을 설명해주세요.
- 쓰레싱(Thrashing)이란 무엇이며 어떻게 해결하나요?
- 동기화(Synchronization) 문제와 해결 방법에 대해 설명해주세요.
- 세마포어(Semaphore)와 뮤텍스(Mutex)의 차이점은 무엇인가요?
- 모니터(Monitor)란 무엇이며 어떤 경우에 사용되나요?
- 파일 시스템의 구조와 특징에 대해 설명해주세요.
- 인터럽트(Interrupt)란 무엇이며 어떤 종류가 있나요?
- 시스템 콜(System Call)이란 무엇이며 주요 종류는 무엇이 있나요?
- 커널(Kernel)의 역할과 종류에 대해 설명해주세요.
- 프로세스 동기화를 위한 임계영역(Critical Section) 문제를 설명해주세요.
- 메모리 단편화(Fragmentation)란 무엇이며 어떻게 해결하나요?
- 선점형 스케줄링과 비선점형 스케줄링의 차이점은 무엇인가요?
- 페이지 폴트(Page Fault)란 무엇이며 어떻게 처리되나요?
- 프로세스 간 통신(IPC) 방법들에 대해 설명해주세요.
- 운영체제의 부팅 과정을 설명해주세요.
- 스풀링(Spooling)이란 무엇이며 어떤 용도로 사용되나요?
- 디스크 스케줄링 알고리즘의 종류와 특징을 설명해주세요.
- 동적 로딩(Dynamic Loading)과 동적 링킹(Dynamic Linking)의 차이는 무엇인가요?
- 멀티프로그래밍과 멀티프로세싱의 차이점은 무엇인가요?
- 운영체제의 메모리 보호 기법들을 설명해주세요.
- 스레드 동기화 기법들에 대해 설명해주세요.
Database 기술면접 질문 (30개)
- 데이터베이스의 특징과 장점에 대해 설명해주세요.
- DBMS의 주요 기능과 종류에 대해 설명해주세요.
- 관계형 데이터베이스와 NoSQL 데이터베이스의 차이점은 무엇인가요?
- 트랜잭션(Transaction)이란 무엇이며, ACID 속성에 대해 설명해주세요.
- 정규화(Normalization)란 무엇이며, 각 정규형에 대해 설명해주세요.
- 인덱스(Index)란 무엇이며, 장단점과 종류에 대해 설명해주세요.
- JOIN의 종류와 각각의 특징을 설명해주세요.
- 데이터베이스 락(Lock)의 종류와 특징을 설명해주세요.
- 트랜잭션 격리 수준(Transaction Isolation Level)에 대해 설명해주세요.
- 데드락(Deadlock)이 발생하는 원인과 해결 방법을 설명해주세요.
- 옵티마이저(Optimizer)란 무엇이며 어떤 역할을 하나요?
- 실행 계획(Execution Plan)이란 무엇이며 어떻게 분석하나요?
- 클러스터링 인덱스와 논클러스터링 인덱스의 차이점은 무엇인가요?
- 파티셔닝(Partitioning)과 샤딩(Sharding)의 차이점을 설명해주세요.
- 데이터베이스 복제(Replication)란 무엇이며 어떤 장점이 있나요?
- 뷰(View)란 무엇이며 어떤 장단점이 있나요?
- 저장 프로시저(Stored Procedure)의 장단점을 설명해주세요.
- 트리거(Trigger)란 무엇이며 어떤 경우에 사용되나요?
- SQL Injection이란 무엇이며 어떻게 방지할 수 있나요?
- 데이터베이스 백업의 종류와 특징을 설명해주세요.
- CAP 이론에 대해 설명해주세요.
- NoSQL의 주요 유형과 각각의 특징을 설명해주세요.
- 데이터 웨어하우스와 데이터 마트의 차이점은 무엇인가요?
- ETL 프로세스란 무엇이며 어떤 단계로 구성되어 있나요?
- 데이터베이스 성능 튜닝 방법들에 대해 설명해주세요.
- 커넥션 풀(Connection Pool)이란 무엇이며 어떤 이점이 있나요?
- 데이터베이스 튜닝의 세 가지 측면(SQL 튜닝, 메모리 튜닝, I/O 튜닝)에 대해 설명해주세요.
- 분산 데이터베이스의 장단점과 특징을 설명해주세요.
- 데이터베이스 회복(Recovery) 기법들에 대해 설명해주세요.
- ORM(Object-Relational Mapping)이란 무엇이며 장단점을 설명해주세요.
주제별로 30개씩 준비하고 질문에 대답에 있는 꼬리 질문까지 준비하기!!
728x90