반응형
백엔드 서버 개발자 면접을 준비할 때 반드시 알아야 할 컴퓨터 사이언스(Computer Science, CS) 핵심 주제를 다음과 같이 정리했습니다. 각 항목은 실제 면접에서 자주 질문되는 내용과 실무에서 요구되는 역량을 중심으로 구성했습니다.
1. 네트워크 기본
- OSI 7계층, TCP/IP 4계층 구조
- HTTP/HTTPS 프로토콜, REST 원칙, 상태코드
- DNS, 로드밸런싱, 프록시, CDN
- 소켓 통신, WebSocket, Keep-Alive, CORS
- 클라이언트-서버 통신 흐름, 요청/응답 구조
2. 데이터베이스
- RDBMS(관계형 데이터베이스) vs NoSQL(비관계형 데이터베이스)
- SQL 기본(SELECT, JOIN, INDEX, 트랜잭션, 정규화/비정규화)
- NoSQL(MongoDB 등) 특성, CAP 이론, 샤딩, 레플리카
- ORM(Object-Relational Mapping) 개념과 장단점
- 데이터베이스 설계, 인덱싱, 쿼리 최적화, 캐싱 전략
3. 서버/백엔드 아키텍처
- 서버와 클라이언트의 역할, Stateless/Stateful 차이
- MVC, MSA(마이크로서비스 아키텍처), 모놀리식 구조
- API 설계(RESTful, GraphQL), 엔드포인트 설계 원칙
- 인증과 인가(JWT, OAuth, 세션, 쿠키)
- 로깅, 모니터링, 장애 대응, 장애 복구, 스케일링
4. 프로그래밍 언어 및 프레임워크
- 주요 백엔드 언어: Java(Spring), Python(Django/Flask), Node.js(Express), PHP(Laravel), Ruby(Rails) 등
- 언어별 특징, 메모리 관리, 예외 처리, 동시성/병렬성
5. 자료구조와 알고리즘
- 배열, 리스트, 스택, 큐, 해시, 트리, 그래프 등 기본 자료구조
- 정렬, 탐색, 해싱, 캐싱 알고리즘(LRU, FIFO 등)
- 시간복잡도/공간복잡도(Big O Notation)
- 코딩 테스트 문제 풀이 경험
6. 운영체제와 시스템
- 프로세스 vs 스레드, 멀티스레딩, 동기/비동기, 데드락
- 메모리 구조(Stack, Heap), GC(Garbage Collection)
- 파일 시스템, 입출력, 네트워크 소켓
- 리눅스 기본 명령어, 배포 자동화, CI/CD
7. 버전 관리 및 협업
- Git 기본 및 브랜치 전략(GitFlow, GitHub Flow)
- 코드 리뷰, 협업 도구(GitHub, GitLab 등)
- CI/CD, 테스트 자동화, 코드 품질 관리
8. 보안
- OWASP Top 10, SQL Injection, XSS, CSRF 등 웹 보안 이슈
- HTTPS, SSL/TLS, 데이터 암호화, 인증/인가
- 보안 취약점 진단 및 대응
9. 클라우드와 DevOps
- 클라우드 서비스(IaaS, PaaS, SaaS), AWS/GCP/Azure 기초
- 컨테이너(Docker, Kubernetes), 서버리스 개념
- 배포 자동화, 모니터링, 장애 대응
10. 기타 실무 및 소프트스킬
- 코드 설계 원칙(SOLID, DRY, KISS, YAGNI)
- 테스트(단위 테스트, 통합 테스트, TDD)
- 문제 해결 경험, 협업 경험, 커뮤니케이션 능력
참고: 실제 면접에서 자주 나오는 질문 예시
- RESTful API와 REST의 차이점은?
- SQL과 NoSQL의 차이 및 사용 사례는?
- 트랜잭션의 ACID란?
- 인증(Authentication)과 인가(Authorization)의 차이?
- 서버 장애 발생 시 대처 방법은?
- 데이터베이스 인덱스란? 언제, 왜 사용하는가?
- 동시성 이슈와 해결 방법(락, 트랜잭션 등)
- Git에서 rebase와 merge의 차이
- 캐시 전략과 적용 사례
- 마이크로서비스 장단점
각 항목별로 개념 정리와 실습, 예상 질문에 대한 답변 준비를 병행하면 면접에 도움이 될 것 같아요!
다음 포스팅 부터 본격적으로 정리해볼게요~~
반응형
'스터디 트래블 > CS' 카테고리의 다른 글
5. 자료구조와 알고리즘 (1) | 2025.05.10 |
---|---|
4. 프로그래밍 언어 및 프레임워크 (2) | 2025.05.10 |
3. 서버/백엔드 아키텍처 (0) | 2025.05.03 |
2. 데이터베이스 (1) | 2025.05.03 |
1. 네트워크 기본 (1) | 2025.04.29 |