BLOG

개발자 면접 질문 & 해설

매일 업데이트되는 기술 면접 질문과 현직 개발자들의 해설

System Design미드

Kafka와 RabbitMQ의 차이와 선택 기준은?

Kafka는 로그 기반의 고성능 스트리밍에 최적화된 플랫폼이며, RabbitMQ는 유연한 라우팅과 즉각적인 메시지 전달이 강점인 전통적 브로커입니다. 데이터의 양과 처리 방식에 따라 선택합니다.

2026-04-2134명 참여
Message QueueKafkaRabbitMQ
System Design미드

캐싱 전략(Cache-Aside vs Write-Through)의 차이는 무엇인가요?

캐싱 전략은 읽기/쓰기 비중에 따라 선택하며, 보통 읽기 위주에는 Cache-Aside를, 데이터 일관성이 중요하다면 Write-Through를 사용하여 DB 부하를 줄이고 응답 속도를 향상시킵니다.

2026-04-1942명 참여
CachingRedisSystem Design
System Design미드

API Rate Limiting의 개념과 주요 전략은 무엇인가요?

Rate Limiting은 정해진 시간 내 요청 횟수를 제한해 시스템 과부하를 방지합니다. 주로 Redis와 Token Bucket을 활용해 버스트 트래픽에 대응하며 서비스 가용성을 안정적으로 유지합니다.

2026-04-1742명 참여
RateLimitingSystemDesignScalability
CS 기초주니어

컴파일러와 인터프리터의 차이는 무엇인가요?

컴파일러는 전체 코드를 기계어로 번역해 실행 파일을 만들며 실행 속도가 빠릅니다. 반면 인터프리터는 한 줄씩 읽어 즉시 실행하므로 수정과 디버깅이 용이하지만 반복 작업 시 성능이 낮을 수 있습니다.

2026-04-1538명 참여
CompilerInterpreterJIT
Frontend시니어

Next.js의 CSR, SSR, SSG, ISR 차이와 최적화 전략

Next.js 렌더링 핵심은 '데이터 업데이트 빈도'와 'SEO 필요성'에 따른 선택입니다. 정적 데이터는 SSG/ISR로 빌드 타임에, 동적 데이터는 CSR/SSR로 처리하여 성능과 경험을 동시에 확보해야 합니다.

2026-04-1342명 참여
Next.jsRenderingSEO
Backend미드

JPA N+1 문제의 발생 원인과 해결 방법

N+1 문제는 연관 관계가 설정된 엔티티 조회 시 조회된 데이터 개수(N)만큼 추가 쿼리가 발생하는 성능 문제입니다. JPQL의 동작 방식 때문에 발생하며, Fetch Join이나 Batch Size 설정을 통해 쿼리를 최적화하여 해결할 수 있습니다.

2026-04-1142명 참여
JPAHibernateSpring Boot
Backend주니어

REST API에서 GET과 POST의 차이점은 무엇인가요?

GET은 서버에서 데이터를 조회할 때 사용하며 요청 본문이 없고 멱등성을 보장합니다. POST는 서버에 데이터를 전송하여 리소스를 생성할 때 사용하며, 멱등하지 않습니다.

2026-04-0747명 참여
REST APIHTTPBackend
Backend주니어

데이터베이스 인덱스란 무엇이고, 왜 사용하나요?

인덱스는 데이터베이스 테이블의 검색 속도를 향상시키는 자료구조입니다. 책의 목차처럼 특정 컬럼의 값과 해당 레코드의 위치를 매핑하여, 전체 테이블을 스캔하지 않고도 원하는 데이터를 빠르게 찾을 수 있게 합니다.

2026-04-0638명 참여
DatabaseIndexSQL
Frontend주니어

React의 Virtual DOM은 무엇이고, 왜 사용하나요?

Virtual DOM은 실제 DOM의 가벼운 복사본으로, 상태 변경 시 새 Virtual DOM을 생성하고 이전 것과 비교(Diffing)하여 실제 DOM에는 변경된 부분만 최소한으로 반영합니다.

2026-04-0552명 참여
ReactVirtual DOMFrontend
Network주니어

TCP와 UDP의 차이점은 무엇인가요?

TCP는 연결 지향형 프로토콜로 3-way handshake를 통해 연결을 수립하고, 데이터의 순서와 무결성을 보장합니다. UDP는 비연결형 프로토콜로 연결 없이 데이터를 전송하며, 신뢰성보다 속도를 우선합니다.

2026-04-0444명 참여
TCPUDPNetwork
CS 기초주니어

프로세스와 스레드의 차이점은 무엇인가요?

프로세스는 운영체제로부터 독립된 메모리 공간을 할당받는 실행 단위이며, 스레드는 프로세스 내에서 코드/데이터/힙 영역을 공유하면서 독립적인 스택만 가지는 실행 단위입니다.

2026-04-0356명 참여
OSProcessThread

앱에서 직접 답변을 작성해보세요

매일 3개의 면접 질문에 답변하고, 다른 개발자들의 답변을 비교해보세요.

무료로 시작하기