Gidhub BE Developer

[시스템 설계 (System Design) - 한번에 인터뷰 합격하기] 3강 : 설계 인터뷰 전략

2023-06-21
goodGid

이 글은 강의 내용을 토대로 작성하였습니다.


인터뷰 소프트 스킬

면접 전략

  • 면접관은 기술적인 전문 지식만을 요구 X

    문제 접근 방식 + 협업 방식도 중요시 여김

    ex) 피드백을 받아들이는지?


질문 또 질문 !

  • 시스템 면접에서는 일반적으로 해결하기 난해한 문제를 받게 된다.

    Why?

    면접자가 세분화해서 설계해야 하는 요구 사항을 명확히 하는 모습을 보기 원함

  • 만약 난해한 질문을 받는다면?

    애매모호한 방향을 구체적인 요구 사항으로 바꾼다.

    그리고 이 과정에서는 절대 고민만 하면 안 된다.

    면접관은 면접자의 사고 과정을 보기 희망하는데 조용히 있으면 평가를 할 수 없다.

    생각하면서 이야기하면 면접관이 방향을 잡아주고

    결국엔 나에게도 도움이 된다.

Example
Q. 유튜브를 설계하라.

- 어떤 것을 설계해야 하는지 확인한다.
- 유튜브에는 동영상, 추천, 편집, 광고 등등이 있다.
- 그러므로 제일 원하는 주제로 범위를 알려달라고 한다.
ex) 얼마나 많은 동영상을 다루나요?
ex) 트래픽은 얼마나 되죠?
ex) 예산은 얼마나 되나요? 
-> 예산이 많다면 서버를 무한히 늘릴 수 있음

- 요구 사항을 미리 명확히 하고 요구 사항이 의미하는 것을 대화로 주고받아야 한다.

기술 관점에서의 접근

  • 고객 입장에서 접근을 해보자.

Example
Q. 유튜브를 설계하라.

전 세계에 있는 많은 동영상을 
"고객"에게 짧은 지연 시간에 대규모로 제공해야 한다.
그렇다면 가장 인기 있는 동영상은 CDN을 사용하는 것이 바람직하다.

한발 더 나아가서
여기서 "고객"은 전 세계 고객이냐 특정 지역의 고객이냐 
특정 지역의 특정 시간대 고객이냐 등등 
더 세분화할 수 있다.

사업적 관점

  • 마지막으로는 사업적인 관점에서도 고민하고 있음을 보여주자.

  • 고객 관점 + 기술 관점을 통해 설계를 하였다면

    향후에 수익을 창출할 수 있는지 까지 의견을 제시하자.


주어진 시간에 실 서비스를 요구하는 것은 아니다.

  • 면접 시간 내 유튜브, 구글, 아마존 전체를 설계하는 것이 아니니

    스스로를 궁지에 몰아넣지 말자 !


설계 전략

협업! 협업! 협업!

  • 면접을 보면서 계속 소통해야 한다.

    그래야지 지원자가 피드백을 수용하는 사람인지 알 수 있다.


탑 다운 방식

  • 고객 중심에서 설계를 시작하라.

면접관에게도 기회를 주라 !

  • 면접관이 중간중간 이야기할 수 있게 타이밍을 제공하자

  • 그들이 말하는 이유는 다 그럴만한 이유가 있기 때문이다.

- 구체적인 난관에 여러분이 어떻게 반응하는지
- 아직 생각해 보지 않은 문제에 대해 어떻게 생각하는지
- 올바른 방향으로 이끌어주기 위함

모르면 모른다고 솔직히 말하자

  • 모른다고 말해도 괜찮다.

    하지만 알아가려는 노력을 해야 한다.

  • 내가 지금은 모르지만 면접관과 협력하여 이해해 나가겠다는 의지를 보여주자.

    그냥 포기하면 절대 안 된다.

    아직 해결책을 찾기 위한 의욕이 있으며

    그 해결책을 찾기 위해 면접관과 협력할 의사가 있음을 보여주자

    면접관이 바라는 요소 중 인내심이 있다.


방어적인 태도 X

  • 면접관은 문제를 찾아내려고 할 텐데

    이때 방어적으로 ‘아니요, 전부 다 잘 작동될 거예요 무슨 말씀이세요’라고 하면 큰일 난다.

    매사에 방어적이고 까칠하게 굴면 좋은 동료라고 생각하지 않는다.


Refernece


Recommend

Index