Search

1차

1. NestJS 요청 흐름

"NestJS에서 HTTP 요청이 들어오면 어떤 일이 일어나나요?"
Follow-up
Guard와 Interceptor의 차이는?
Custom Decorator 만들어 본 적 있어요?
DI 컨테이너에서 Scope는 어떻게 관리되나요?

2. ECS Rolling / BlueGreen Update

"두 가지 방식의 차이점 설명해주세요."
Follow-up
블루그린 배포 시 트래픽 스위칭은 어떻게 처리하나요? ALB or Route53?
롤링 배포 중 장애 발생 시 복구 시나리오는?
ECS에서 배포 실패 감지 후 자동 rollback 경험 있나요?

3. 단축 URL 아키텍처 설계

"단축 URL 시스템을 ECS와 DB 포함해서 설계해보세요."
Follow-up
Hash 충돌 방지는 어떻게 하나요?
Redis 캐시는 어떻게 쓰이고 TTL 전략은?
단축 URL 클릭 수, 통계는 어떻게 수집하나요?

4. MQ 도입 이유 / 경험

"Kafka, RabbitMQ 사용 경험 있나요? 없다면 왜 써야 하나요?"
Follow-up
Kafka는 왜 high-throughput에 강하다고 하나요?
메시지 중복이나 순서를 어떻게 보장하나요?
SQS vs RabbitMQ vs Kafka 장단점 비교?

5. 대용량 벌크 데이터 실시간 처리

"실시간성이 중요한 대량 데이터 처리 어떻게 하시겠어요?"
Follow-up
Node.js에서 병렬성 확보는 어떻게 하셨나요?
Redis는 어떤 역할로 쓰이나요? 캐시, pub/sub, queue?
데이터를 분할 처리할 때 순서를 보장하려면?

6. ECS 리소스 조정 (CI/CD 연동)

"ECS의 CPU / Memory를 쉽게 조정하는 방법이 있나요?"
Follow-up
파이프라인에서 task definition 동적으로 변경한 경험?
ECS에서 resource 조정과 함께 Auto Scaling 설정도 해보셨나요?
Terraform이나 CDK 같은 IaC 툴은 쓰셨나요?

7. ECS vs EC2 선택 이유

"왜 EC2가 아니라 ECS를 선택했나요?"
Follow-up
EC2로 구성했던 경험 있다면 어떤 점이 불편했나요?
ECS에서 직접 EC2 클러스터 운영 vs Fargate 선택 기준은?
가격이나 보안, 유지보수 측면에서 선택 기준은?

8. ALB + 다중 도메인

"ALB 하나로 여러 도메인을 처리할 수 있나요?"
Follow-up
Host-based routing과 Path-based routing 차이?
HTTPS 인증서 관리는 어떻게 하나요? ACM?
Nginx Ingress Controller 같은 대안은 언제 쓰나요?

9. Redis 캐시 TTL 만료 시 수만건 요청 발생 대응

"TTL이 만료되면서 Redis 캐시가 다 날아가고, 수만 건의 요청이 B 시스템으로 몰릴 때 어떻게 대응하시겠어요?"
Follow-up
Redis에서 분산락 구현 시 race condition 방지 어떻게?
Lazy caching 구현 시 fallback 전략은 어떤 방식?
캐시 만료를 분산하는 jitter 전략의 단점은?
메시지 큐로 리프레시 분산처리 시 병목 방지는?

NestJS / 구조 관련

NestJS에서 Exception Filter는 어디에 사용하나요?
NestJS의 Module 간 순환참조 문제를 해결한 경험 있나요?
Request Scope Provider를 썼던 사례가 있나요?

ECS / 컨테이너 운영

ECS에서 Container끼리 통신은 어떻게 하나요? (awsvpc / bridge 차이)
ECS Fargate 사용 시 로그 수집은 어떤 방식으로 처리했나요? (e.g., CloudWatch, Firelens)
ECS Task가 비정상 종료될 경우 대응 방법은?

CI/CD

GitHub Actions / CodePipeline 중 어떤 걸 사용했고 이유는?
ECS 배포 전용 taskDefinition 버전 관리는 어떻게 했나요?
배포 실패 알림은 어떤 채널로 연동하셨나요? (e.g., Slack + EventBridge)

Redis / 캐시

캐시와 DB 간 consistency를 맞추기 위한 전략은? (Write-through vs Write-behind)
Redis Cluster를 구성하면 어떤 장점이 있나요?
캐시 stampede와 dogpile 문제의 차이는?

MQ / 비동기 처리

메시지를 처리하는 consumer가 죽었을 때 메시지는 어떻게 처리되나요?
DLQ(Dead Letter Queue) 설정해본 적 있나요?
MQ 소비자 수 늘리는 방식은? (수평 확장, 파티션 기준 등)

ALB / 네트워크

ALB vs NLB 차이는 무엇인가요?
ALB + WAF 사용해본 적 있나요? (IP 차단 / rate limit)
ALB에서 path rewrite를 설정하려면 어떻게 하나요?

대용량 처리

DB의 대량 insert 시 성능 최적화 방법은? (예: COPY, bulk insert, batch)
데이터 처리 중 실패한 건만 재처리하려면 어떻게 설계할 건가요?
Promise.all이 아닌 Task Queue 패턴을 사용하는 이유는?

시스템 설계 공통

rate limiting은 어떤 방식으로 구현하셨나요? (token bucket vs leaky bucket)
graceful shutdown은 어떻게 구성하셨나요? (e.g., SIGTERM → drain connection)
API 서버에 request ID 넣는 이유는 뭔가요?

인프라 운영

S3 presigned URL 사용 경험 있나요?
RDS 연결 최대치 초과 대응 방법은?
CloudWatch에서 custom metric 만들어본 적 있나요?

보안 / 인증

JWT 토큰 갱신 로직 어떻게 설계했나요? access/refresh 분리?
HTTPS 강제 리디렉션은 어디서 처리했나요? ALB? 애플리케이션?
OAuth 연동 시 state 파라미터는 왜 필요한가요?