백엔드 기술 면접 질문 20
HTTP, 데이터베이스, 인증, 동시성, 확장까지 백엔드 면접 단골 질문 20개와 답의 핵심.
외움이 만든 단어장20장·한국어·하루 20장이면 1일
가입 없이 이 기기의 내 단어장에 추가돼요
프론트엔드 편과 같은 방식이에요. 질문을 보고 소리 내어 답한 뒤, 뒷면의 핵심과 비교해 빠진 게 있으면 "다시". 답의 순서는 정의 → 원리 → 트레이드오프예요.
카드 20장 전체 보기
- 1REST API란 무엇인가요?자원(URI), 행위(HTTP 메서드), 표현(JSON 등)으로 설계하는 방식. 무상태, 일관된 인터페이스. GET 조회 · POST 생성 · PUT 전체 수정 · PATCH 부분 수정 · DELETE 삭제.
- 2주요 HTTP 상태 코드를 설명해 주세요.2xx 성공(200, 201 생성됨, 204 내용 없음) 3xx 리다이렉트(301 영구 이동, 304 변경 없음) 4xx 클라이언트 오류(400, 401 인증 필요, 403 권한 없음, 404, 409 충돌, 429 요청 과다) 5xx 서버 오류(500, 502, 503)
- 3멱등성이란?같은 요청을 여러 번 보내도 서버 상태가 같은 성질. GET·PUT·DELETE는 멱등, POST는 아님. 재시도 설계에 중요하고, 결제처럼 중요한 POST는 멱등 키로 중복을 막아요.
- 4트랜잭션의 ACID는?원자성: 전부 되거나 전부 안 되거나. 일관성: 제약 조건을 항상 지킴. 격리성: 동시에 실행돼도 서로 간섭하지 않음. 지속성: 커밋된 결과는 장애 뒤에도 남음.
- 5트랜잭션 격리 수준을 설명해 주세요.READ UNCOMMITTED(더티 리드) → READ COMMITTED(반복 불가능한 읽기) → REPEATABLE READ(팬텀 리드 가능, MySQL InnoDB 기본) → SERIALIZABLE. 높을수록 정합성은 오르고 동시성은 떨어져요.
- 6인덱스는 어떻게 동작하고, 언제 쓰나요?검색 키를 정렬된 구조(주로 B+Tree)에 따로 저장해 조회를 빠르게 해요. 대신 쓰기와 저장 공간 비용이 늘어요. 카디널리티가 높고 WHERE·JOIN·ORDER BY에 쓰는 컬럼에. 복합 인덱스는 왼쪽 컬럼부터 쓰여요.
- 7정규화와 반정규화의 차이는?정규화: 중복을 없애 삽입·갱신·삭제 이상을 막도록 테이블을 나눔. 반정규화: 조회 성능을 위해 일부러 중복을 허용(조인 줄이기).
- 8N+1 문제와 해결 방법은?목록을 1번 조회한 뒤 항목마다 연관 데이터를 N번 더 조회하는 문제. 페치 조인, IN으로 한 번에 가져오는 배치 조회, 로딩 전략 조정으로 해결해요.
- 9세션 인증과 JWT 인증의 차이는?세션: 서버가 상태를 저장, 쿠키엔 세션 ID. 즉시 무효화가 쉽고, 서버가 여러 대면 공유 저장소 필요. JWT: 서명된 토큰에 정보를 담아 서버는 무상태. 만료 전 무효화가 어려워 짧은 만료 + 리프레시 토큰으로 보완.
- 10OAuth 2.0 인가 코드 흐름을 설명해 주세요.사용자 동의 → 인가 코드 발급 → 서버가 코드를 액세스 토큰으로 교환 → 토큰으로 자원 접근. 제3자에게 비밀번호를 주지 않아요. 모바일·SPA 같은 공개 클라이언트는 PKCE를 더해요.
- 11캐시는 어떻게 적용하나요?캐시 어사이드: 읽을 때 캐시에 없으면 DB에서 읽고 캐시에 저장, 쓸 때는 캐시를 무효화. TTL을 두고, 만료 순간 요청이 몰리는 캐시 스탬피드를 주의해요.
- 12프로세스와 스레드의 차이는?프로세스: 독립된 메모리 공간을 가진 실행 단위. 스레드: 프로세스 안에서 힙 등 메모리를 공유하는 실행 흐름. 생성·전환이 가볍지만 공유 자원 동기화가 필요해요.
- 13동시성 문제는 어떻게 해결하나요?경쟁 조건을 막으려면 락(뮤텍스), 원자적 연산, DB 비관적 락(SELECT … FOR UPDATE)이나 낙관적 락(버전 컬럼), 여러 서버라면 분산 락.
- 14TCP와 UDP의 차이는?TCP: 연결 지향, 순서·전달 보장, 흐름·혼잡 제어(웹, 파일 전송). UDP: 연결 없이 빠르지만 보장 없음(실시간 스트리밍, DNS, 게임).
- 15로드 밸런서는 어떻게 동작하나요?여러 서버에 요청을 나눠요. 라운드 로빈, 최소 연결, IP 해시 등. L4는 IP·포트 기준, L7은 URL·헤더 기준. 헬스 체크로 죽은 서버는 빼요.
- 16수평 확장과 수직 확장의 차이는?수직(스케일 업): 더 좋은 장비로. 간단하지만 한계와 단일 장애점. 수평(스케일 아웃): 서버를 늘림. 무상태 설계와 데이터 분산이 필요해요.
- 17메시지 큐는 왜 쓰나요?비동기 처리, 서비스 간 결합도 낮추기, 트래픽 급증 흡수, 실패 시 재시도. Kafka, RabbitMQ, SQS 등. 순서와 중복 전달에 대비해 소비자를 멱등하게 만들어요.
- 18SQL 인젝션은 어떻게 막나요?입력값이 쿼리 구문으로 실행되는 공격. Prepared Statement(파라미터 바인딩)나 ORM 사용, 입력 검증, 최소 권한 DB 계정으로 막아요.
- 19모놀리식과 MSA의 차이는?모놀리식: 하나로 배포, 단순하지만 커질수록 변경·배포 부담. MSA: 서비스별로 독립 배포·확장. 대신 네트워크 통신, 분산 트랜잭션, 운영 복잡도가 늘어요.
- 20무중단 배포 방식에는 무엇이 있나요?롤링: 서버를 차례로 교체. 블루-그린: 새 환경을 띄운 뒤 트래픽을 한 번에 전환, 롤백이 빠름. 카나리: 일부 트래픽부터 보내며 확인. DB 스키마는 하위 호환되게 단계적으로 바꿔요.
외움에서 외우면
잊기 직전에 다시간격 반복(FSRS)이 카드마다 다음 복습 날을 정해요. 아는 카드는 점점 드물게 나와요.
가입 없이, 이 기기에계정도 업로드도 없어요. 학습 기록은 이 브라우저에만 저장돼요.
내 카드로 고쳐 쓰기추가한 뒤엔 내 단어장이에요. 뜻을 고치고, 카드를 빼고, 내 카드를 더하세요.
다른 단어장
프론트엔드 기술 면접 질문 20브라우저 동작, 자바스크립트, React, 보안·성능까지 프론트엔드 면접 단골 질문 20개와 답의 핵심.20장인성 면접 단골 질문 15자기소개, 지원 동기, 갈등·실패 경험까지 인성 면접에서 꼭 나오는 질문 15개와 답변 뼈대.15장토익 빈출 단어 60토익 파트 5·7에 자주 나오는 비즈니스 단어 60개를 간격 반복으로 외워요.60장JLPT N3 핵심 단어 40JLPT N3 수준의 자주 쓰는 명사·동사·형용사 40개. 한자, 읽기, 뜻을 함께 외워요.40장영어 회화 필수 표현 40일상과 회사에서 바로 쓰는 짧은 영어 표현 40개. 상황별 뜻을 함께 외워요.40장