예시 답변 1
URL 구조를 일관되게 정리한 경험
팀 프로젝트 초반에는 팀원마다 URL을 짓는 방식이 달라, 어떤 곳은 동사를 쓰고 어떤 곳은 명사만 썼습니다. 이후 리소스는 명사로, 행위는 HTTP 메서드로 표현하자는 규칙을 정하고 기존 API를 다시 정리했습니다. 이미 만들어둔 API를 바꾸는 과정이 번거로웠지만, 이후로는 새 API를 만들 때 헷갈리는 일이 줄었습니다.
일관성을 뒤늦게 맞추며 겪은 번거로움을 구체적으로 담았습니다.
면접관이 이 한 문장으로 확인하려는 것들. 각 갈래를 알면 답의 뼈대가 잡혀요.
팀 프로젝트 초반에는 팀원마다 URL을 짓는 방식이 달라, 어떤 곳은 동사를 쓰고 어떤 곳은 명사만 썼습니다. 이후 리소스는 명사로, 행위는 HTTP 메서드로 표현하자는 규칙을 정하고 기존 API를 다시 정리했습니다. 이미 만들어둔 API를 바꾸는 과정이 번거로웠지만, 이후로는 새 API를 만들 때 헷갈리는 일이 줄었습니다.
저는 URL 구조뿐 아니라 에러 응답 형식도 일관되게 만드는 게 중요하다고 생각합니다. 프로젝트 초반에 에러가 발생했을 때 어떤 API는 메시지만, 어떤 API는 에러 코드까지 반환해 프론트엔드에서 처리하기 어려웠던 적이 있습니다. 이후 에러 응답 형식을 통일해 처리 로직을 하나로 합칠 수 있었습니다.
API를 설계할 때 제가 편한 방식보다 다른 팀원이 문서 없이도 짐작할 수 있는 이름을 쓰려고 신경 썼습니다. 처음엔 제 나름의 축약어를 썼는데, 팀원이 매번 물어봐서 불편했다는 피드백을 받고 풀어 쓰는 방식으로 바꿨습니다.
같은 실수가 반복돼요. 이것만 피해도 절반은 갑니다.
진짜 면접은 두 번째 질문부터예요. 이 답 뒤에 따라올 법한 것들.