본문/내용
1. 본인이 경험한 프로젝트 중 가장 도전적이었던 사례를 설명하고, 그 과정에서 어떤 문제를 해결했는지 말씀해 주세요.
경험한 가장 도전적이었던 프로젝트는 예약 시스템의 실시간 처리 향상입니다. 당초 시스템은 초당 200건의 예약 요청을 처리했으나 예약 수요 증가로 500건 이상으로 급증하였을 때 서버 과부하와 지연 문제들이 발생하였습니다. 이를 해결하기 위해 Redis 캐시를 도입하고, 데이터베이스 쿼리 최적화 및 비동기처리 방식을 적용하였습니다. 또한, 부하 분산을 위해 nginx와 AWS ELB를 활용하였으며, 몽고디비를 통해 예약 데이터의 읽기 성능을 향상시켰습니다. 그 결과, 시스템의 초당 처리 건수가 1000건까지 늘어나면서 평균 응답 시간은 2초에서 0. 5초로 낮아졌고, 예약 실패율도 5% 미만으로 유지하게 되었습니다. 이 과정에서 병목 구간을 찾아내고, 적절한 캐싱 및 비동기처리 기법을 적용하는 데 집중했던 것이 큰 성과였습니다.
2. 객체지향 프로그래밍의 원칙 중 하나를 선택하여 설명하고, 이를 실무에 어떻게 적용할 수 있는지 예를 들어 주세요.
객체지향 프로그래밍의 원칙 중 하나인 `단일 책임 원칙(단일 책임 원칙, SRP)…