개발자로서 첫 면접 질문 정리

김민재·2021년 12월 30일
72
post-thumbnail

위 사진은 오늘의 심정을 담은 저의 모습을 표현했습니다.
(Sponser, 김지현의 Ipad [무려 91만원, 내 맥북가격..])

면접 순서는 대략 다음 순서대로 진행되었습니다.

1) 어찌 저찌 답변한 질문 - 일반 텍스트
2) 애매하게 답변한 질문 - 굵은 텍스트
3) 답변하지 못한 질문 - 기운 텍스트

질문 목차

  • 자기소개 및 개발자 전환 계기
  • 프로젝트, 기업 인턴십 관련 질문
  • 기술 질문
  • 커뮤니케이션 질문
  • 회사에 궁금했던 점

자기소개 및 개발자 전환 계기

Q1. 자기소개
Q2. 의상 전공에서 개발로 전환한 계기

  • 가치관으로 인해 직무를 변경했다 답변했는데, 어떤 가치관을 갖고 있는지

프로젝트, 기업 인턴십 관련 질문

Q3. 인턴십에서 본인이 구체적으로 어떤것을 했는지?
Q4. 백엔드를 선택한 이유?

A4. 경험했던 성향과 잘맞아서라고 답변했으나 어떤 경험이었는지 구체적으로 제시하지 못했다.

첫 번째 통신 방식에 대한 꼬꼬무(꼬리에 꼬리를 무는) 시즌1ㅠ

Q5. 기업 인턴십에서 NestJS, 프레임워크를 사용했는데 왜 사용했는지?
A5. 현문우답을 했다.. NestJS를 왜 도입한건지에 대해 여쭤봤는데 답변의 논점이 흐려지면서 어쩌다보니 graphQL이야기까지 하게되고.. 결국 꼬리질문의 트랩에 빠졌다...


Q6. Restful API - GraphQL의 차이점?
A6. 엔드 포인트 관계, 1:1 / 1:N 그리고 GraphQL은 응답의 형태 다양하다고 답변,
더 정리해서 아예 블로그에 포스팅해봐야겠다. 꼭꼭 !


Q7. Graphql 사용했을 때 단점 N+1 문제, 이것에 대해 알고 있는지?
A7. Graphql 장점만 생각하고 단점 생각도 못해봤다.. 그래도 N+1은 어디서 들어본거같은 키워드여서 아는척만 했다..


Q8. Graphql 페이지네이션 구현했을 때 어떻게 했는지?

A8. 스킵, 테이크를 사용해서 구현했다고 답, 생각해보니깐 프리즈마로 구현 방식을 답한거 같아서 애매...

Q9. 데이터 로더를 사용해본 경험,
A9. N+1문제 해결하기 위한 방식입니다!

Q10. 1차 프로젝트에서 풀스텍 5명이 어떻게 업무를 분업했는지?
Q11. 페이지 단위, API 단위로 나눠서 업무(내 답변)를 나누면 코드 컨벤션이나 아키텍처가 다를 수 있는데 어덯게 해결했는지

A11. 초기세팅 다 같이했다..? 더 좋은 답변 찾아보기..

인증/인가 꼬꼬무 시즌2..

Q12. 기업협업 인증, 크립토 사용해서 인증 구현한 부분에 대한 흐름을 설명해달라
Q13. 기업협업에서 인증 때 구현했던 OATH에 대해서 설명해달라
Q14. (#)Access Token을 JWT로 구현, JWT가 어떤 방식인지 설명해달라
A14. 구체적인 방식 답변 못하고 대강적인 답변을 했음..

아키텍처 패턴/디자인 패턴 꼬꼬무 시즌3

Q15. 프로젝트 구성을 MVC 패턴을 많이하는데 MVC 패턴이 뭔지 알고 있는지?
Q16. 왜 MVC패턴을 사용하는지?
Q17. MVC말고 다른 디자인패턴에 대해 알고 있는지?
Q18. 아키텍처적인 패턴 외에 다른 디자인 패턴은 공부해봤냐? EX> 싱글턴 패턴 , 팩토리 패턴 등

노드(개발 언어) 꼬꼬무 시즌 4 !

Q19. 주력 언어 node외 다른 언어를 써본 경험이 있는지?
Q20. 자바(입문 1달 공부한 경험 이야기)는 정말 언어적인 차원에서만 해본건지?
Q21. 노드가 무엇인지 설명해달라
Q22. 노드는 싱글스레드인데 그로 인해서 야기될 수 있는 문제?
A22. 에러나면 프로그램 멈추니 에러 처리를 잘해줘야한다. 두루루루뭉실하게 답변? 콜스택 덧붙여서 답변

Q23. 프로세스와 스레드의 차이?
A23. 이거 최근에도 분명 봤는데 막상 잘 설명을 못했음..

자바스크립트(개발 언어)문법A 꼬꼬무 시즌 5 !

Q24. 자바스클비트 문법 ES6 했는지? let과const 차이아는지?
Q25. const 객체 할당하면 객체 내부의 값 변경 가능한데 이유를 아는지?
A25. 예전에 공부해서 메모리 참조값 이야기 하면서 꼬리를 내줬다.....
Q26. 메모리 이야기 나와서(ㅠ미끼를 흘려버렸다..) 그런데 Call by value와 Call by reference의 차이를 알고 있는가?
Q27. (#)얕은 복사 깊은 복사의 차이를 알고있는가
A27. 사전스터디때 개념 본거라 너무 추상적인 대답을 했었다..

자바스크립트(개발 언어)문법B 꼬꼬무 시즌 6 !

Q28. 자바스크립트의 일반함수 그리고 화살표 함수 차이?
Q29. 호이스팅과 스코프(아니 이걸 왜 언급해가지고...) 자바스크립트의 스코프에 대해서 설명해달라
Q30. 이번엔 호이스팅에 대해서 설명해라

타입스크립트 질문

_Q31. 타입스크립트의 any와 unknown 차이 알고잇냐
_A31.Any 밖에 몰라유..
_Q32. 타입스크립트에서 외부 라이브러리나 api를 사용할 때 정확한 타입을 추론하기 힘들때가 있는데 타입스크립트 엔진 자체가 추론하지 못하는 경우 어떻게 대처할지 알고 있는가?
_A32. 이 정도로 써보진 못했다고 했다,,

데이터베이스 꼬꼬무 시즌 7

Q33. INNER 조인 과 OUTER 조인 차이를 아느냐

A33. 집합으로 설명했는데... 반대로 설명함 하하하하하하
Q34. 데이터베이스에서 인덱스의 개념 설명해보라
A34. 세션 때 들은게 전부라구유...
Q35. 데이터베이스에 사용하면 트랜잭션을 사용하는데 언제 사용하는지 개념과 함께 설명해라
_Q36. (*)트랜잭션을 사용하면서 발생하는 문제, 데드락 들어봣냐
_A36. 데드풀은 들어봤습니다만..

깃과 배포 꼬꼬무 시즌 8~

Q37. 프로젝트하면서 사용한 깃 플로우에 대해 설명해라
Q37. 배포하는 과정 CI/CD 자동화 적용해본 적 있는가?
A38. 자동화 안해봤어요... 배포만 해봤습니다....
Q39. 도커를 사용해서 EC2에 올려서 배포했는데 이때 shell script CLI 입력해서 배포했는지?
A39. 그렇다고 했는데 맞죠 소헌님..?

자료구조/알고리즘/CS(블로그 질문)

Q40. 자료구조 알고리즘에 대해서 알고 있는게 있는가
A40. 모내기에서 자료구조 해쉬 테이블 적용해본 경험으로 돌려막기..
Q41. 자료구조로 개선했던 경험에 대해서 풀어말해봐라
Q42. 블로그를 보니깐 CS, 네트워크쪽 공부를하는데, 다음엔 어떤걸 공부할 생각?

협업 및 기타 질문?

Q43. 프론트와 개발 과정에서 생겼던 문제들, 특히 커뮤니케이션 문제 해결했던 경험과 어떻게 해결했는지 설명해달라
Q44. 다른 업무 공용 협업 툴 어떤거 썼는지? 지라써보았는지?
Q45. 앞으로 어떤 개발자로 성장하고 싶은지?
Q46. 배우고 새로운 도전하는 걸 좋아하는 걸로 보이는데 다른 취미 같은게 있는지?
A46. 스트레스 관련 질문이었는데 좀 더 업무적으로 풀어서 말할 걸 그랬땨.. 클라이밍 이야기하면서 문제 해결 같은거 더 강조해볼골..

드디어 내가 질문하는 시간!

Q47. 회사나 팀한테 궁금한 점
A47. 회사의 최종적인 비젼이 무엇인지
A47. 가지고 있는 개발 문화에 대해서
A47. 새로운 기술을 적극적으로 도입하는지에 대해

면접관님에게 들은 최종 리뷰/아쉬웠던 점

  • 칭찬 (?!) : 짧은 시간 내에 많은 걸 학습한 게 확실히 보인다. 짧은 기간 동안 이렇게 지식을 많이 쌓은 건 대단하다고 하셨다..
  • 좋게 봐주신 부분: 레이어 패턴에 있어 재사용성 강화와 같이 본인이 그것을 사용한 이유를 명확히 아는 주니어 개발자를 면접관들은 강점으로 본다고 하셨다.
  • 아쉬운 부분 : (예를 들어 설명해주셨다) 보통 주니어 개발자는 본인이 GraphQL을 사용해도 그것에 본질을 모르고 사용한 케이스가 많다.
    내가 저지른 실수 EX1> 데이터 베이스 inner,outer join 반대로 말했다
  • 공부 방향에 대한 조언 : 당장 블로그에 올린 CS, 네트워크(예를들어 리눅스 클라우드 컴퓨팅도 물론 중요하다고 하셨다)보단 코딩을 하면서 본인이 썼던 것이 어떻게 돌아갔는지를 먼저 이해하는게 중요하다고 조언해주셨다. 따라서 공부하는 하는 범위(개발자 영역)를 전체적으로 넓혀야한다고 말씀하셨다.
  • 프로젝트 조언 : 부트캠프는 포트폴리오가 비슷한 아쉬움이 있으니 여유가 된다면 개인 프로젝트를 만들어봐라. API와 서버, 간단한거라도 좋으니 직접 설계해서 왜 이렇게 사용했는지를 상세히 설명할 수 있는 본인만의 프로젝트가 있으면 좋겠다고 하셨다.

글을 마치며

면접 기회를 주셔 부족한 점들을 잘 지적해주신 회사와 앞으로 기회를 주실 회사들에게도 감사함을 전하며 글을 마치겠습니다.

profile
자기 신뢰의 힘을 믿고 실천하는 개발자가 되고자합니다.

9개의 댓글

comment-user-thumbnail
2021년 12월 30일

첫면접 왕수고했어요~! 계속달립시다아아아아 파이팅~~~!!!!!!!!!

1개의 답글
comment-user-thumbnail
2021년 12월 30일

심해까지 들어가는 꼬꼬무....
좋은 정보 감사합니다 ㅎㅎ
화이팅~!!!

1개의 답글
comment-user-thumbnail
2021년 12월 31일

썸넬 그린거 봐 졸귀네 ㅋㅋㅋㅋ

1개의 답글
comment-user-thumbnail
2022년 1월 7일

조심스레 추측하지만, Q9은 N+1문제를 해결하기 위한 DataLoader 얘기일수도 있다는 생각이 들어요

1개의 답글
comment-user-thumbnail
2022년 2월 8일

좋은정보 감사합니다

답글 달기