공부

최강일·2024년 11월 7일

진행방향(총 18W)

  • java
  • spring
  • db
  • 시스템 설계 및 아키텍처
  • 클라우드/인프라

https://www.notion.so/146d0bd74a2380159b61f7b403fe46db

Java 심화 학습 (4W)

Java(1W)

  • 이것이 자바다에서 기억이 뚜렷하지 않은 부분부분 보기(ex. 스트림)
  • JVM 구동방식 (JIT 컴파일러의 역할)
  • JVM 메모리 구조 (Stack, Heap 등)
    • 메모리릭 추적 사례를 통한 메모리구조 추가설명
  • gc 동작 방식과 종류
  • 기타 lts별 특징(gc, 8에는 Set.of 없음)
  • 힙 설정팁 : 32g
  • stream과 default 메서드 관계

기타 자바 cs, 심화, 실무(1W)

알고리즘(1W)

탐색
정렬
dp
dfs
bfs

Spring(2W)

REST API 설계 원칙
Spring Framework 내부 동작 원리
패키지 구조
dto, vo,bo, entity등
Bean Scope와 생명주기
IoC와 DI 동작 원리
Spring AOP 동작 방식
DispatcherServlet 동작 과정
Filter vs Interceptor
@Configuration과 CGLIB
Spring Security 아키텍처, 인증/인가 과정
에러핸들링
Transaction 동작 방식
단위테스트, 통합테스트 질문 다수(송출 api의 경우 복잡한데 어떻게 통합테스트를 진행했는지)
기타 cs 질문들

Q

Q: synchronized와 volatile의 차이를 설명할 수 있는가?
Q: Spring AOP가 동작하는 방식을 프록시 관점에서 설명할 수 있는가?
Q: @Transactional의 전파 옵션들의 차이를 설명할 수 있는가?

데이터베이스 최적화 (3W)

https://mangkyu.tistory.com/25

index

인덱스 설계와 쿼리 최적화(복합 인덱스 설계 원칙)
인덱스 스캔 방식 (Range, Full 등)
Clustered vs Non-clustered Index

트랜잭션, 락

ACID 속성
트랜잭션 격리 수준별 특징
데이터베이스 락의 종류와 교착상태 해결
낙관적 락 vs 비관적 락
데드락 감지와 해결

SQL 최적화

성능 개선
실행 계획 분석
조인 최적화 (NL, Hash, Merge)
서브쿼리 최적화

jpa

JPA 영속성 컨텍스트
ORM 최적화 (N+1 문제 등)
지연로딩 vs 즉시로딩
영속성 전이
고아 객체 제거

Q

Q: 인덱스 설계시 선정 기준을 설명할 수 있는가?
Q: JPA N+1 문제가 발생하는 원인과 해결 방법을 아는가?
Q: 낙관적 락과 비관적 락의 차이와 적용 상황을 설명할 수 있는가?

시스템 설계와 아키텍처 (5W)

시스템 디자인(1W)

분산 시스템에 대한 이해

디자인 패턴(1W)

캐싱 전략(1W)

설계
Redis 자료구조별 활용
Cache-Aside 패턴
캐시 무효화 전략
분산 캐시 동기화

MSA 설계(1W)

마이크로서비스 아키텍처 설계
서비스 경계 설정 원칙
API Gateway 패턴
Service Discovery
Circuit Breaker 패턴

이벤트 기반 아키텍처(1W)

시스템 확장성 전략
캐시 전략 수립
Kafka 아키텍처와 동작 원리
이벤트 스트리밍 처리
멱등성 보장 방식

대기열 큐 구현

강의

Q

Q: 서비스 분리 기준을 설명할 수 있는가?
Q: 수평적/수직적 확장의 차이와 적용 시점을 아는가?
Q: 캐시 전략(Cache-Aside, Write-Through 등)의 차이를 설명할 수 있는가?

클라우드/인프라 (4W)

AWS 주요 서비스 활용(1w)

ECS vs EKS
RDS 운영 (백업, 복구, 모니터링)
CloudWatch를 통한 모니터링
VPC 네트워크 설계

컨테이너/쿠버네티스(1w)

Docker 컨테이너 최적화
K8s Pod 배치 전략
인그레스 설정
리소스 관리와 HPA

CI/CD 파이프라인 구축(3d)

Jenkins vs GitHub Actions
무중단 배포 전략

모니터링(2d)

프로메테우스/그라파나 모니터링

로깅(1w)

ELK 스택 구성
사용자 데이터 기반

Q

Q: Auto Scaling 설계시 고려사항을 설명할 수 있는가?
Q: 블루/그린 배포와 카나리 배포의 차이를 아는가?
Q: ELK 스택을 활용한 로그 분석 시스템을 구축할 수 있는가?

이력서

트러블 슈팅 경험 공유

면접 준비

기본 : https://dev-coco.tistory.com/153

각 기술의 기본 원리 이해에 집중
각 체크포인트 질문에 대한 답변 준비
시스템 설계 면접 연습
본인의 프로젝트에서 겪은 기술적 도전과 해결 과정 정리
기술 면접 예상 질문 정리
시스템 설계 면접 사례 연습
라이브 코딩 연습
기술 선택의 이유를 설명할 수 있어야 함
트레이드오프를 고려한 의사결정 능력

profile
Search & Backend Engineer

0개의 댓글