Web & App/Backend Study

백엔드 개발자의 핵심 기술 지식

jimmmy_jin 2025. 7. 8. 14:18

✅ 1. 백엔드 개발자의 핵심 기술 지식

📦 API & 서버 구조

  • RESTful API 설계 원칙 (GET, POST, PUT, DELETE + status codes)
  • REST vs GraphQL
  • Controller → Service → Repository 구조 (NestJS 기준)
  • API 버전 관리, Rate Limiting, Pagination

🧱 데이터베이스

  • SQL 기본 문법 (SELECT, JOIN, GROUP BY, INDEX 등)
  • RDB 설계 원칙 (정규화, 관계 설정, PK/FK 개념)
  • PostgreSQL 특성 (시드니 시장 선호 DB)
  • ORM 사용법 (Prisma 또는 TypeORM)
  • 트랜잭션, ACID, 커넥션 풀

🧑‍💻 인증 & 보안

  • JWT (Access / Refresh 토큰 구조)
  • OAuth2 기본 흐름
  • HTTPS, CORS, XSS, CSRF 등 웹 보안 기본
  • Password hashing (bcrypt)

🧠 구조 설계 & 패턴

  • MVC, Clean Architecture 개념
  • 비동기/동기 처리 (Promise, async/await, Event Loop)
  • 에러 핸들링 패턴 (try/catch, middleware error handler)
  • Dependency Injection (NestJS)

🔍 테스트 & 문서화

  • Swagger / OpenAPI로 API 문서화
  • Unit Test / E2E Test 개념 (Jest, Supertest)
  • Postman or Thunder Client 활용

✅ 2. 배포/인프라 실무 지식

면접에서 실전 경험을 묻는 경우 대비

☁️ 배포 및 운영

  • Docker 기본 사용법 (Dockerfile, docker-compose)
  • Node.js 서버 운영 (PM2, Nginx, 환경변수 관리 등)
  • AWS EC2 + S3 + RDS 기본 구성
  • CI/CD 흐름 이해 (GitHub Actions, Vercel 경험)

✅ 3. 면접에 자주 나오는 CS 지식

기본적인 이론은 간단히라도 설명할 수 있어야 해요.

분류 키워드

OS 쓰레드 vs 프로세스, 블로킹 vs 논블로킹
네트워크 HTTP vs HTTPS, DNS 흐름, TLS/SSL
DB Index 동작, 정규화, NoSQL vs RDB
자료구조 배열, 해시, 트리 개념
알고리즘 이진탐색, 투포인터, 정렬 (LeetCode Easy 정도)

✅ 4. 시드니 백엔드 면접 질문 예시 (실제 채용 기준)

질문 유형 예시

REST "Explain the difference between PUT and PATCH."
DB 설계 "How would you design a table for a blog system?"
보안 "How do you implement secure authentication in REST APIs?"
배포 "Explain how you would deploy a Node.js app with Docker."
TS/Nest "How does Dependency Injection work in NestJS?"
상황 "Tell me about a time you handled a failing production API."

✅ 추천 학습 & 정리 방법

방식 내용

✅ 프로젝트 기반 학습 NestJS + Prisma로 CRUD + 인증 + Swagger 포함 백엔드 직접 구현
✅ TIL 블로그 정리 위 항목들을 하루에 하나씩 정리 (ex: JWT 구조, REST 원칙)
✅ 면접 예상 답변 작성 각 항목에 대해 2~4문장 요약 문장 직접 써보기
✅ GitHub + README 정리 설계 흐름, 구조 설명을 정리한 포트폴리오 레포 하나는 필수