개발자가 내팔자

[회고] 면접 후기 본문

STUDY

[회고] 면접 후기

야생의 개발자 2022. 8. 25. 17:40

안돼!!! 이상한 말좀 하지마!!!

 

간만에 재미있는 기술면접을 봤는데 잊어버리기 전에 기록해두고자 한다. 기본기를 중요하게 생각하시는 CTO님을 만나서 기초적인 질문들을 받았다.

 

기본기의 중요성

https://pro-yomi.tistory.com/6

 

내가 지속적으로 개발을 공부하는 이유

"빨리 가는 유일한 방법은 제대로 가는 것이다." 로버트 C. 마틴 (Rovert C. Martin) 코딩을 시작하고 여러 동료들을 만나면서 느끼게 된 것인데, "CS같은 것들을 몰라도, 프로그래밍의 작동 원리같은

pro-yomi.tistory.com

사실 개발자에게 기본기가 중요하다고는 하지만 막상 이를 증명할 기회도 없어서 항상 아쉬움이 있었는데 이번 기회에 면접에서 낱낱이 털린 것 같아 오히려 기뻤다! 스피드 게임처럼 답만 하는 게 아니라 생각하는 시간을 기다려주시고 피드백도 주셔서 첨엔 긴장했지만 편안하게 대답할 수 있었다. CS 공부를 안한 지 꽤 됐는데 이게 약간 티가 나는 것 같았고 좀 더 복습을 해야겠다는 생각이 들었다.

 

 

기술 면접 질문들

기억에 의존해서 썼기 때문에 조금 다르거나 누락된 내용이 있을 수 있다. (생각나면 또 업데이트)

 

  • 인터넷이 뭐고 어떤 식으로 동작하는지?
  • DNS가 뭐고 어떤 식으로 동작하는지?
  • 브라우저에 도메인을 치면 어떤 과정이 이루어지는지?
  • HTTP가 뭔지, HTTPS와의 차이는?
  • CRUD에 해당하는 HTTP method가 뭔지? update는 왜 두개인지? 차이가 뭔지?
  • HTTP Status가 뭔지? 아는 상태 코드가 있는지?
  • CORS가 뭔지?
  • 데이터베이스가 뭔지?
  • RDB가 뭔지? 장단점?
  • Query Interface가 뭔지? SQL에 대한 설명
  • Foreign key가 뭔지? 왜 쓰는지?
  • N + 1이 뭔지?
  • 써본 RDB와 NoSQL에 대해 설명하고 둘의 차이?
  • Transaction이 뭔지? 내가 만약 Transaction을 구현한다면?
  • hashing과 encryption의 차이가 뭔지? 어떤 것을 hashing하고 어떤 것을 encrypt할건지?
    여기서 비밀번호가 복호화가 필요해서 encryption한다고 했는데 건물 나오고 나서 내가 왜 그랬지 100번 후회함.. 생각해보면 인증 기능 구현하면서 한번도 비밀번호를 복호화한적이 없는데 이름도 hashed_password 이런 식으로 지었는데 내가 왜 그랬지????? 이해가 안간다 😂 아악 
  • 만약 에러가 난다면? 어떻게 할것인지?
    이 부분에서도 로그를 먼저 본다고 했는데, 원인부터 파악한다고 말하는 걸 생략해버렸다. 사실 평소에 에러나면 어떤 상황에서 에러가 나는지 물어보고 티가 안나면 재현도 해보고 로그를 찾아보는데 왜 대뜸 로그부터 찾아본다고 했는지 모르겠다. 아마 당연한 절차라고 생각하고 생략해서 말한듯.. 생략 하지 말라고요~~~

 

회고

 

평소에 익숙하게 여기고 있던 용어에 대해서 다시 한 번 돌아보게 되었고, 역시 빨리 가는 것보다 제대로 가는 것이 중요하구나 라는 생각을 하게 되었다. 그리고 내가 아는 것을 좀 더 매끄럽게 설명하는 연습이 필요할 것 같다고 느꼈다. 좀 두서없이 횡설수설하게 되는듯.. 전문가처럼 말하란말야! 또, 답만 말하는 것이 아니라 과정을 같이 설명해야 하는데 그 부분도 조금 더 숙달이 필요할 것 같다.

Comments