대기업 계열사 ecommerce 전문 부문 상품/전시 파트 1차 면접, 비대면 화상면접으로 진행 됨.

자기소개

경력기술서 4줄 요약 + 강점으로 소개

이직이 잦았는데 각 회사별 이직 사유를 말해달라

  1. 공간정보 기반 공공기관 SI 사업을 했는데, 매출의 2/3에 해당하는 프로젝트 수주가 실패하고, 회사가 기운이 약해지는 것을 느끼고 이직했다.
  2. 공공기관 si 에이젼시였는데, 기술 성장에 큰 도움이 없는 것이 느껴져서 이직을 결심했다.
  3. 입사 당시 예정된 프로젝트가 있었는데 엎어졌다. 시니어급이 줄 퇴사했고, 그 후로 기존 프로젝트의 개선에 힘썼지만, 시니어급의 부재가 좀 컸다. 그래서 이직을 결심했다.

di ioc에 대해서 설명해보라

DI는 의존성 주입으로, 객체를 직접 생성하는 게 아니라 외부에서 생성한 후 주입하는 방식이다. 결합도가 낮아지고 유연성이 높아진다.

(대답 못 하고 한참 버벅임) IoC는 긴장해서 기억이 안 난다.
(면접 망했음을 느낌)

이력서에 jvm 튜닝이 있던데, 어떻게 했나?

하남시청에서 운영하는 운동장 예약 시스템에서 예약 오픈일마다 서버가 뻗었다. 로그를 확인하니 JVM 문제인 것으로 확인되어 튜닝했고, 서버 메모리가 32기가나 되는데, jvm에서 1기가밖에 사용하지 않길래 4기가까지 확장했다.
heap 영역과 stack 영역, 새로운 객체 영역, 오래된 객체 영역에 대한 값을 테스트 해가면서 튜닝했다.

  • 그럼, 메모리를 많이 주게 되는데 GC가 오래 걸리거나 GC 하면서 뻗지 않는가?

깊은 GC 얕은 GC 설정이 있었던 걸로 기억나는데 정확하게 기억이 안 난다.
(2차로 망했음을 느낌)

Redis 어떻게 사용했는가?

WAS를 2대를 수기 배포를 하는 시스템이었고, 배포할 때 번갈아 가면서 배포하면 한쪽에서 세션이 끊기는 문제가 있었다.
WAS를 spring 설정에서 session clustering을 Redis에 연결해서 해결했다.

jsp는 잘 다루는가?

jsp는 스프링이랑 같이 사용했기 때문에 못 다룰 수가 없다고 생각하다.
(설마 model 1에 절차지향적인가?)

template engine에 대해서 아는가? FE는 좀 잘 다루는지?

이전에 근무한 회사에서 FreeMarker를 사용했고, JS template인 handlebar.js나 jquery template를 사용했다. 첫 회사에서 지도를 SPA로 개발했기 때문에 많이 다뤄봤다.

\pagebreak

infra, be, fe 어느 분야를 더 선호 하는가?

일단 spring be가 더 자신 있다.
그렇지만, 첫 회사에서 JS 많이 다뤄서 FE에도 관심이 있고. 인프라도 흥미가 있다.
어쨌든 spring BE를 더 선호한다.

이력서에 있는 대용량 데이터 처리 고도화에 대해 설명해달라

하루에 배송 추적하는 송장이 2,700건 정도 됐던 걸로 기억하는데, 2,700 건을 리스트에 담아서 한 건씩 건건히 API 조회를 하는 방식이었다.
정보를 제공해 주는 API를 개선할 수 없으니 우리 쪽 프로세스를 개선했다.
대상을 100건씩 쪼개서 spring async annotation으로 비동기 처리를 했다. 그리고 DB insert/update 할 때도 시간 소모가 많기 때문에, 한 트랜잭션에서 100건 쿼리 수행하고 트랜잭션을 닫는 처리를 했다.
MyBatis execute batch 옵션을 사용했는데, 해당 옵션을 사용하면 select 쿼리 결과를 재사용하는 특성이 있어서 select와 insert/update 하는 로직도 분리했다.

  • 혼자 처리한 업무인가?

그렇다.

현재 팀 구성이 어떻게 되는가?, 업무 중 협업은 어떻게 하는가?

총 4명으로 차장급 세 명과 일한다.
업무 이슈를 각자 나눠서 처리하는 중이라 협업할 기회가 없다.
그래도 물어보면 잘 대답해 주신다. 그치만 보통은 구글을 많이 참고하고, 최근에는 chatGPT도 활용한다.
개발 협업은 적은데, 마케팅이나 운영 MD, 기획팀과의 협업은 많이 하는 편이다. 주도적으로 커뮤니케이션을 해서 그들의 매출을 증가시키는 데 도움을 주고 있다.

조회쿼리 성능 개선 어떻게 할 것인가?

최근에 진행 중인 이슈인데, 지금 근무 중인 회사를 기준으로 얘기하자면 oracle DB를 사용 중이다. CPU 사용률이 높아서 Metarial view를 사용해서 조회 성능을 개선하는 중이다.

  • 운영자가 실시간 조회 성능 개선을 요구한다면 어떻게 할 것인가?

(한참 고민함)
현재 재직 중인 회사 쿼리를 기준으로 얘기를 하면, select 절에 있는 함수를 paging 처리 후로 다 빼고, inline sub query나 scalar sub query를 join으로 변경하는 방식으로 진행한다.

(원하는 답이 아닌 것도 알고, 정석적인 방법도 알지만 긴장해서 제대로 답 못함. 3차로 망했다)

\pagebreak

질문 할 것 있는가?

  • 사내 개발정보 공유하는 곳이 있다고 들었는데 얼마나 활성화?
    • 최근에 오픈을 했고, 팀별로 기술 자랑하는 분위기.
      우리는 신생팀이라 아직 발표는 안 했는데, 팀마다 월별로 발표도 한다.
  • git 사용한다고 들었는데, github, gitlab 어떤 것을 사용?
    • gitlab ent. 사용 중.
  • 들어갈 팀에 개발자가 몇 명이나 있고, 연령대 분포는 어떻게 되는지?
    • 개발자가 몇 명인지는 대답 못 듣고, 내가 중간쯤 된다고만 기억 남.
    • 아마 직원이 많아서 몇명이나 되는지 모르거나, 사람이 없어서 숨길 수도 있다고 생각됨.
  • 이전에 해결한 이슈나 앞으로 해결해 나가야 하는 이슈에 대해 알고싶다.
    • 상품, 전시는 검색이 꽃인데, 그쪽 관련해서 당장은 서베이 중이다. 곧 관련 이슈를 진행 할 예정이다.
      (조회 쿼리 대답 못한게 정말 ㅈ됨을 느낌)
  • 기술적인 의사 결정이 필요할 때 결정을 내리는 주체가 개인인지, 팀원 전체인지 알고 싶다.
    • 난감해함 (뭔가 잘못된 질문인가 싶음)
    • 당연히 혼자 결정하진 않는다. 탑다운도 아니고 바텀업도 아니다. 회의를 통해서 결정한다.

https://youtube.com/shorts/8WJOxkySoVc?feature=share

 
 
 
728x90
반응형

'커리어 디버깅' 카테고리의 다른 글

[회고] 2023년 상반기  (0) 2023.07.02
[면접 회고] 20230530 COY 면접 회고  (0) 2023.05.30
[면접 회고] W사  (0) 2023.02.27
[면접 회고] C사  (0) 2023.02.27
2022년 회고 및 2023년 목표 설정  (0) 2023.01.03

+ Recent posts