2021-10-19-TIL

F사 면접족보

1차 면접

PM + 인사 담당자분이 면접을 본다. 깃허브 코드를 많이 상세하게 본다. 프로젝트 보고 어떤 걸 커밋했는지, 어떤 부분에서 기여했는지, 회사에서 어떤 역할을 했는지 모두 물어본다. 회사에서 수행한 프로젝트에의 로직, 본인의 역할을 물어본다. 특히 그중에 관심이 가는걸 뽑아서 물어본다. 예를 들어, 장바구니와 로그인 기능을 구현했다면 어떻게 구현했고 테이블 설계가 어떻게 되었는지 등등 물어본다. 장바구니 어떻게 구현했는지? 계산이 복잡할텐데 어떻게 구성하였는지? STORE와 ITEM의 LIKE테이블을 공유하는데 단점을 알고 설계한 것인지? (답변예시 -> 테이블을 최소화해서 데이터관리를 쉽게 하려고 한 것 같다. 하지만 요구사항이 늘어나면서 로직이 복잡해진 것 같다. JPA 조회 시 항상 참조한것이 성능상 약간의 문제가 되었다.)

어떻게 공부해왔는지? 앞으로 같이 일할 때 성장을 할만한 사람인지, 개발 문화나 스터디 진행과정, 안 맞는 부분은 없었는지, 잘 맞다면 어떤게 좋았는지, 얻었던 점, 자바스크립트와 파이썬을 왜 공부한지, let, var, const 차이.. 협업 프로젝트 2년차개발자의 리딩으로 코드 컨벤션 등등 잘 되어있는 것을 본다. 개발습관 규칙, PR을 어떻게 날리고, 협업 방식을 물어본다.

스프링 기본, 스프링이 무엇이라고 생각? 스프링 인터페이스를 언제 썼냐, JPA, 쿼리DSL, Spring Data JPA 어떨 때 이걸쓰냐, 디자인 패턴 어떤걸 썼냐, 테스트 코드를 어떻게 짜냐? 어떤걸 중요시하냐? 스프링은 토비 1장에서 DI와 테스트 코드에 대한 의존성을 없애고 캡슐화를 강조하는 프레임워크, 중요한건 DI 와 테스트이다. 추상화된 여러가지 다른기능을 붙이기 쉽게 만든 프레임워크다.

s3 이미지 업로드 -> 인프라 세팅같은 것들을 직접했는가?

백엔드 2차

창립멤버 + 인사, 백엔드 사수, 인성면접, 안좋은 코드 or 레거시 코드 기능을 고칠 때 레거시 스타일로 할거냐, 자기가 생각한 좋은 방식으로 갈아치울 것인가? 앞으로의 목표 5년 후, 10년 후 어떤 개발자가 되고 싶은지?

데이터 분석 -> 갖고 온 데이터 파싱 -> 분석해오면 -> ES에 저장 -> 집계해서 가져옴 (by배치) -> …