inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

6주 완성! 백엔드 이력서 차별화 전략 4가지 - 똑같은 이력서 속에서 돋보이는 법

4-5. 근데 이거 어떻게 되는거임? - InnoDB

수치화 관련 질문

해결된 질문

57

작성자 없음

작성한 질문수 0

0

 

안녕하세요. 잘 수강하고 있습니다.

수치화 하는 부분에 있어 궁금한 점이 있습니다!

개선점을 수치화 하기 전에, 개선에 앞서서 미리 문제 상황을 예상하고 고려 할 수 있는 방법도 궁금합니다.
미리 고려 했어야 하는 점과, 실제로 실무에서도 문제상황으로 마주하는 부분을 구분하기가 어려운 것 같습니다. 현업에서는 어디까지 미리 고민을 해보고, 어느 정도부터는 실제 문제로 마주하게 되는지 궁금합니다.


질문의 배경은 아래와 같습니다.

면접에서 개선 및 수치화 사례에 대해서 "해당 이슈는 매우 known이슈인데, 충분히 미리 고려 할 수 있는 부분이 아니었는지? 고민을 안했었는지?" 질문을 받았었습니다.

예를 들어 7초 -> 2초 줄이는 것보다 2초 -> 0.7초 개선하는것이 더 어려울텐데
설계나 개발전에 미리 고민해보고 2초로 시작 할 수 있었던 문제 아니냐 라는 질문 같았습니다!

수치화를 위한 수치화로 보인다거나, 사전에 고려하지 않는 태도로 보였을까봐 우려되는 지점이었습니다.

이러한 우려를 피하고 싶은데 고견 부탁드립니다

감사합니다!

이력서

답변 1

0

딩코딩코

고양이님 좋은 질문 해주셔서 감사합니다.

이 질문은 정말 많은 주니어 분들이 실제로 겪는 고민이에요. 면접관 입장도 이해가 가지만, 실무 현실도 분명히 있거든요. 하나씩 같이 파헤쳐 봅시다!

실무에서는 이런 단계로 진행돼요

프로젝트 초기 (MVP 단계) 이 시점에는 솔직히 말하면 "일단 동작하는 것"이 우선입니다. 왜냐하면 서비스가 실제로 유저를 받을지, 어떤 부분이 병목이 될지 아무도 모르거든요. 트래픽이 하루 100명도 안 오는데 동시 접속 1만명 대비 설계를 한다? 이건 오버 엔지니어링이죠.

서비스 성장 단계 (실제 부하 발생) 유저가 늘면서 "어? 이 부분 느린데?"가 나타나기 시작합니다. 이때부터가 진짜 최적화 타이밍이에요. 실제 데이터와 트래픽 패턴을 보고 병목 지점을 찾아서 개선하는 거죠.

그래서 7초 → 2초 개선이 전혀 이상한게 아닙니다. 오히려 "우리 서비스가 성장하면서 병목을 발견하고, 데이터 기반으로 개선했다"는 스토리거든요.

그래서 면접관이 정말 묻고 싶은 건 이거 같습니다

  • "문제를 발견하는 능력이 있나?"

  • "왜 이 방법을 선택했는지 논리가 있나?"

  • "다음에는 어떻게 할 건가?"

"왜 미리 안 했어?"가 아니라 "어떻게 생각하는 사람인가?"를 보는 거죠.

 

그래서 다음과 같이 흐름을 준비해가시면, 충분히 좋은 대답을 하실 수 있을 것 같습니다

상황 설명 "초기에는 서비스 검증이 우선이어서 기본적인 구현에 집중했습니다. 당시 트래픽은 하루 평균 X명 수준이었고, 응답 속도도 크게 문제가 되지 않았어요."

문제 발견 "그런데 X월부터 일 방문자가 Y명으로 증가하면서, 특정 API의 응답시간이 평균 7초까지 늘어나는 걸 모니터링에서 발견했습니다. 특히 오후 2-3시 피크 타임에 문제가 심각했어요."

분석 과정 "slow query log를 분석해보니 WHERE 절에 사용되는 컬럼에 인덱스가 없어서 풀 테이블 스캔이 발생하고 있었습니다. 10만 건 데이터를 매번 전체 검색하고 있었던 거죠."

개선 및 결과 "해당 컬럼에 인덱스를 추가하고, 실행 계획을 확인해서 index scan으로 변경됐는걸 확인했습니다. 결과적으로 평균 응답시간이 2초로 개선됐고, 피크 타임에도 안정적인 서비스가 가능해졌어요."

배운 점 "이 경험을 통해 서비스 초기부터 모니터링 환경을 구축하는 게 중요하다는 걸 배웠습니다. 다음 프로젝트에서는 Spring Actuator + Prometheus를 초기부터 세팅해서 쿼리 성능을 실시간으로 추적했고, 덕분에 비슷한 이슈를 사전에 발견할 수 있었습니다."

이런 식으로 답변하면 "반성하고 성장하는 개발자"로 보여요.

그럼 실제 프로젝트에서 이런 경험을 쌓아보시고, 면접에서 당당하게 말할 수 있는 스토리를 만들어보세요. 좋은 질문 감사합니다!!

답을언제쯤받아볼수있나요

0

49

2

프로젝트가 없어요..

0

57

2

조회속도 개선에서 더 개선하는 방법이 궁금합니다.

0

70

2

Build 관련 문제 (테스트 관련 문제)

0

59

2

인덱스 관련 질문 있습니다.

0

97

2

비관적 락 구현 방식 문의 건

0

104

2

외부 api 처리 방안에 대하여 궁금한 점이 있습니다.

0

107

2

네임드 락 사용 시 커넥션 풀을 분리하는 방법에 대한 질문

0

97

2

이벤트) 백엔드 기술면접 실전문제집

0

120

2

로컬에서 테스트 한 결과를 이력서에 써도 괜찮을까요?

0

152

2

Redis 캐싱을 도입하는데 db조회와 성능이 차이가 거의 없습니다.

0

129

2

k6 부하테스트 중인데 개선 전 성능이 너무 안나와서 고민

0

164

2

강의와 성능수치 비교

0

110

2

13강 강의 뒷부분의 과제 안내부분은 어디있나요?

0

57

2

이벤트 참가자 수 증가 후, save 메서드 호출 코드 질문

0

69

2

[수업 자료 질문] Cache Aside의 특징 문의

0

100

2

[수업자료 문의] RedisTemplate으로 SETNX 시 리턴값 문의

0

95

2

블로그에 학습 내용 정리 포스트를 올려도괜찮나요?

0

125

2

멀티스레드 상황인데 currentParticipants 가 AtomicInteger가 아닌 이유?

0

93

3

클라우드 환경 배포시 부하 테스트 방식에 대하여

0

181

2

k6 dashboad 안나오는 상

0

124

2

2-4 도커 빌드 에러가 계속 납니다.

0

321

2

AWS EC2에 도커 컨테이너가 동작하지 않을 때 확인 해야하는 것

0

124

2

성능 측정시

0

121

2