[백엔드] DB 설계와 쿼리 튜닝 필수 지식

job-interview-logo
2026. 02. 07.·Job Interview

백엔드 면접에서 단골로 등장하는 데이터베이스 성능 최적화와 운영 관리 노하우를 실무 관점에서 정리했습니다. 인덱스의 올바른 설계 원칙(선택도, 커버링 인덱스)부터 슬로우 쿼리를 예방하는 조회 성능 개선 팁(사전 집계, No-Offset), 그리고 장애를 막는 운영 포인트(커넥션 관리, 트랜잭션 범위)까지 핵심만 담았습니다. 단순한 이론 암기를 넘어, “왜 이렇게 설계해야 하는가?”에 대한 논리적인 답변을 준비하는 데 최적화된 가이드입니다.

[백엔드] 서비스 성능 최적화 및 운영 필수 지식

job-interview-logo
2026. 02. 06.·Job Interview

백엔드 개발자 취업을 준비하는 분들을 위해 서비스 안정성과 성능 최적화에 필요한 핵심 개념을 정리했습니다. 응답 시간(FFTB, FFLB)과 처리량(TPS)의 이해부터 병목 현상 해결을 위한 스케일링 전략, DB 커넥션 풀(HikariCP)의 적절한 설정 방법을 다룹니다. 또한, 캐시(Cache) 적중률과 삭제 정책, 메모리 관리와 가비지 컬렉터(GC)의 연관성, 그리고 대규모 트래픽 처리를 위한 대기열 시스템까지 실무 면접에서 자주 묻는 기술적 포인트들을 요약해 담았습니다.

[DP] Directional Split DP (백준 2169)

algorithm-icon
2026. 02. 05.·Algorithm

백준 2169번(로봇 조종하기)은 단순한 DP처럼 보이지만, 한 행에서 양방향 이동이 가능하다는 조건 때문에 순환 참조(Circular Dependency) 문제가 발생합니다. 본 리포트에서는 O(NM²)의 비효율적인 접근이 왜 운 좋게 통과되었는지 분석하고, 이를 O(NM)으로 최적화하기 위한 ‘Directional Split DP(방향 분리 DP)’ 기법을 심층적으로 다룹니다. 좌/우 스캔을 통해 DP의 핵심 전제인 DAG(Directed Acyclic Graph)를 어떻게 복원하는지 상세히 설명합니다.

[DP] 카탈란 수 (백준 10422)

algorithm-icon
2026. 02. 05.·Algorithm

올바른 괄호 문자열의 개수를 구하는 백준 10422번 문제는 단순한 규칙 찾기로 접근하면 ‘중복 카운팅’의 늪에 빠지기 쉽습니다. 본 리포트에서는 *2 연산이나 단순 분할(dp[j]*dp[i-j])이 왜 실패하는지 분석하고, ‘첫 번째 괄호’를 기준으로 중복을 원천 차단하는 **(A)B 구조(카탈란 수)**의 도출 과정을 증명합니다. 또한, 구현 단계에서 흔히 범하는 모듈러 연산의 누적 실수까지 상세히 다룹니다.

[기술 면접 총정리] 자료구조편

job-interview-logo
2026. 02. 04.·Job Interview

백엔드 개발자 기술 면접의 필수 관문인 자료구조와 알고리즘 복잡도를 한눈에 정리한 가이드입니다. 시간·공간 복잡도의 개념과 빅 오 표기법의 정의부터 배열, 리스트, 스택, 큐, 트리, 그래프 등 핵심 자료구조의 작동 원리와 성능 차이를 상세히 비교 분석합니다. 면접 전 반드시 숙지해야 할 CS 기본기를 탄탄하게 다질 수 있는 필독 자료입니다.

[DP] ‘K번째 찾기’와 카운팅 DP (백준 1256)

algorithm-icon
2026. 02. 04.·Algorithm

‘K번째 문자열 찾기’는 알고리즘 문제해결에서 ‘생성(Generation)’과 ‘계수(Counting)’의 차이를 극명하게 보여주는 대표적인 유형입니다. 본 리포트에서는 백준 1256번을 예시로, 문자열을 직접 생성하려는 시도가 왜 메모리 초과를 유발하는지, 그리고 List을 int로 치환하는 과정이 어떻게 문제의 본질을 ‘조합 탐색’으로 변화시키는지 분석합니다. 또한, 파스칼의 삼각형을 이용한 DP 전처리부터 분할 정복을 이용한 ‘Skip Logic’까지, 대규모 탐색 공간을 효율적으로 제어하는 정석 패턴을 상세히 다룹니다.

[DP] 반복문 순서에 따라 순열/조합이 결정된다 (백준 1106)

algorithm-icon
2026. 02. 04.·Algorithm

DP 배낭 문제에서 ‘반복문의 순서’가 알고리즘의 성격(순열 vs 조합)을 어떻게 결정짓는지 심층 분석합니다. 백준 1106번 호텔 문제를 통해 최적화 문제에서는 두 방식이 모두 통하지만, 경우의 수 문제에서는 순서가 정답을 가르는 핵심임을 밝힙니다. 더불어 ilways.com의 심화 포스트를 통해 Unbounded Knapsack의 다양한 변형을 학습할 수 있도록 안내합니다.

[DP] 타일링 DP (백준 2302)

algorithm-icon
2026. 02. 03.·Algorithm

단순한 자리 배치 문제가 아닌 ‘피보나치 수열’의 변형임을 간파하는 것이 핵심입니다. 초보자가 흔히 범하는 ‘상태 시뮬레이션(dp[n][3])’ 접근법이 왜 복잡도 폭발을 일으키는지 논리적으로 분석하고, ‘마지막 행동’에 집중하여 문제를 선형(Linear)으로 단순화하는 과정을 다룹니다. VIP 좌석을 ‘분할 지점’으로 활용하는 실전 테크닉까지 완벽하게 정리했습니다.

API Gateway – MSA의 단일 진입점

msa-logo
2026. 02. 02.·MSA

API Gateway는 MSA에서 외부 트래픽의 단일 진입점으로 라우팅, 인증/인가, 공통 정책(레이트리밋·CORS·IP 제어), 관측성(로그·트레이싱)을 중앙화한다. 다만 비즈니스 로직·DB 접근·트랜잭션·복잡한 조합을 넣으면 거대한 모놀리식이 되므로 “얇은 게이트웨이” 원칙과 토폴로지 선택, 운영(SPOF·지연) 대응이 핵심이다.

[기술 면접 총정리] 데이터베이스편

job-interview-logo
2026. 02. 01.·Job Interview

데이터베이스 시스템의 핵심 원리부터 실무 적용까지 아우르는 포괄적인 가이드입니다. 관계형 데이터 모델의 이해와 SQL 기초 및 심화 문법(DDL, DML)을 다루며, 효율적인 DB 설계를 위한 데이터 모델링, ERD 작성, 정규화 과정을 상세히 설명합니다. 또한 시스템 성능 최적화를 위한 인덱스 관리와 데이터 무결성을 보장하는 트랜잭션, 동시성 제어, 회복 기법 등 고급 주제를 체계적으로 정리하여 데이터베이스 구축과 운영에 필요한 필수 지식을 제공합니다.