프로젝트 정리 시 참고

유현준·2022년 5월 20일
0

기술 면접시 질문 (트러블슈팅)

모든 이야기를 요구사항/선택지/의사결정/근거로 준비하세요. 여려분이 어필해야 하는 것은 내가 엔지니어로서 자질이 있다는 것입니다. 엔지니어는 문제를 해결하는 사람입니다. 따라서 엔지니어는 우선 문제 정의를 정확하게 하는 것이 중요합니다. 어떤 요구사항이 있었는지, 이 요구사항을 구현할 수 있는 어떤 선택지들이 있었는지, 이 선택지들 중에서 어떠한 이유와 근거로 어떤 선택지를 결정하였는지 라는 이야기가 반드시 준비되어야 합니다. 지금 대부분 조는 요구사항과 선택지가 빠져있습니다. 아래 트러블 슈팅 참고 자료를 보시며 기술적인 의사결정 방법을 글과 말로 정리하는 연습을 하시기 바랍니다.
트러블 슈팅 참고 자료 : https://bit.ly/370FQC2

스트레스 테스트 자료

엔지니어는 내가 만든 서비스가 언제 고장날 지 반드시 알고 있어야 합니다. 이를 위해 프로젝트에 스트레스 테스트 해보고, 어떤 기능에서 어떤 이슈가 있어서 이 기능을 어떻게 개선했다. 예를 들면 메인 페이지에 API가 많아 다수의 유저가 접속했을 때 에러가 나지 않을까?에 대한 가설로 스트레스 테스트를 진행해봤고, 실제로 n명 이상에서 터졌다. 이러한 이야기도 준비가 되어야합니다. 추가적으로 테이블의 쿼리에 대해 모든 컬럼을 가져오는 것이 문제가 아닐까 생각해서 테스트를 해봤더니 실제로 이런 유의미한 차이를 보여서, JPA에서 queryDSL로 변경해서 이런 결과가 나왔다. 이후 queryDSL로도 n명 이상일때 터져서, 어떻게 어떻게 개선했다. 이와 같이 서비스에 대한 문제 가설 및 테스트, 그리고 발견한 문제에 대

profile
차가운에스프레소의 개발블로그입니다. (22.03. ~ 22.12.)

0개의 댓글