예시 답변 1
고가용성을 고민해본 경험
고가용성이라는 개념을 프로젝트에서 직접 구현해보지는 못했지만, 서버가 하나만 떠 있으면 그 서버가 멈췄을 때 서비스 전체가 중단된다는 문제를 팀 프로젝트 발표를 준비하며 이해하게 됐습니다. 실제로는 서버를 여러 대 운영해본 경험이 없어서, 이 부분은 학습한 개념 수준이라는 걸 정직하게 말씀드리고 싶습니다.
직접 구현 경험이 없다는 한계를 솔직하게 인정했습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
고가용성이라는 개념을 프로젝트에서 직접 구현해보지는 못했지만, 서버가 하나만 떠 있으면 그 서버가 멈췄을 때 서비스 전체가 중단된다는 문제를 팀 프로젝트 발표를 준비하며 이해하게 됐습니다. 실제로는 서버를 여러 대 운영해본 경험이 없어서, 이 부분은 학습한 개념 수준이라는 걸 정직하게 말씀드리고 싶습니다.
검색 기능을 만들 때 데이터가 늘어날수록 응답이 느려지는 문제가 있었습니다. 원인을 찾아보니 검색할 때마다 전체 데이터를 훑고 있어서, 자주 조회하는 필드에 인덱스를 걸어보니 응답 속도가 눈에 띄게 빨라졌습니다. 인덱스를 어디에 걸어야 하는지는 시행착오를 거치며 알게 됐습니다.
저는 서버 구축 시 가장 중요한 건 지금 규모에 맞는 선택을 하는 거라고 생각합니다. 프로젝트 초반에 트래픽이 거의 없는데도 복잡한 캐시 구조를 도입하려다, 오히려 관리할 게 늘어나 개발 속도만 늦어진 적이 있습니다. 그 이후로는 필요해질 때 하나씩 추가하는 방식으로 접근을 바꿨습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.