책너두 (코딩 인터뷰 완전분석) 3일차 (~38p)

요약

  • 특별한 상황에서의 면접
    • 경력자
      • 시스템 디자인은 경력 수준에 비추어 매겨짐.
    • 테스터 혹은 SDET
      • 명시적으로 테스트를 요구하지 않는다고 하더라도 “어떻게 테스트할까” 고민해봐야 함
    • PM
    • 개발 책임자, 관리자
    • 스타트업
    • 면접관의 입장
      • 여기에 있는 문제를 그대로 사용하지 말라
      • 중간 이상의 어려운 문제를 출제하라
      • 겁을 주는 문제는 피하라
      • 지원자를 긍정적으로 대하라
      • 행동 질문을 철저히 하라
      • 지원자에게 조언하라
      • 그들이 생각할 시간을 원한다면 생각할 시간을 주라
    • 방식을 정하라 : 새너티 테스트, 수준, 전문가, 프락시

메모

3. 특별한 상황에서의 면접

경력자

  • 어떤 회사가 신입 지원자에게 알고리즘을 물어 본다면 그 회사는 경력자에게도 알고리즘 문제를 물어 볼 가능성이 큼.
    • 회사마다 다름
  • 시스템 디자인은 경력 수준에 비추어 매겨짐.
  • “가장 고치기 힘든 버그는 무엇이었나요?” 같은 질문이 주어졌을 때, 깊이 있고 인상적인 대답을 내놓길 기대함.

테스터 혹은 SDET

  • SDET(Software Design Engineers int Test)는 실제 제품이 아닌 테스트를 위한 코드를 작성함.
    • 코딩과 테스트 둘 다 잘해야 함.
    • 준비를 두 배로 해야 함.
  • 테스트에 관련된 핵심적 질문들에 대비하라.
  • 코딩 관련 질문에 대비하라.
  • 코딩 결과를 테스트하는 훈련을 하라.
    • 명시적으로 테스트를 요구하지 않는다고 하더라도 “어떻게 테스트할까” 고민해보길 바란다.

바람직한 경력을 위한 조언

  • SDET 에서 개발직으로 전환을 염두에 두고 있다면 코딩과 알고리즘 설계 능력을 높은 수준으로 가다듬어야 함.
  • 입사 후 1~2년 내에 직무 전환을 해야 함.
  • 코딩 기술은 항상 갈고 닦아라.

PM

  • PM(프로그램 관리자 : Program manager)와 제품 관리자 (Product Manager)의 역할은 회사마다 다름.
    • ex) 마이크로소프트에서 PM은 마케팅 전선에서 고객과 마주하는 일을 함.
      • 하지만 어떤 PM은코딩에 관계된 일을 주로 함.
  • 모호성에 잘 대응하는가를 봄
    • 자신이 처한 상황을 자신있게 공략해 나가는 것을 보고 싶어 함.
    • 새로운 정보를 찾고 무엇이 중요한지 우선순위를 매기고, 문제를 구조적으로 풀어나가는 과정을 보고싶어 함.
  • 고객체 초점을 맞추는가를 봄(태도)
    • 면접관은 지원자가 고객 중심적인 태도를 갖고 있는지 보고자 함.
    • 고객이 누구인지(who), 그들이 제품을 어떻게(how) 사용하고 있는지 이해하기 위해 많은 질문을 던지길 바란다.
  • 고객에 초점을 맞추는가(기술적 능력)
    • 복잡한 제품을 취급하는 팀의 PM은 반드시 제품을 충분히 이해해야 한다고 생각함.
      • 일하면서 그런 지식을 얻기 힘들 기 때문.
      • ex) 안드로이드, 윈도우 폰팀에서 일하면 휴대폰에 대한 기술적 이해가 필요함.
      • ex) Windows 보안 팀에서 일하면 보안에 대한 이해가 필요함.
  • 다층적 의사소통(multi-level communication)
    • PM은 같은 회사에서 일하는 서로 다른 직위와 기술적 능력을 갖는 모든 계층의 직원과 의사소통할 수 있어야 함.
    • ex) TCP/IP 를 당신 할머니에게 설명한다면?
    • 이전에 수행한 프로젝트를 토론하면서 소통 능력을 평가하기도 함.
  • 기술에 대한 열정
    • 회사는 자신의 일을 열정적으로 즐길 수 있는 사람인지 확인하고 싶어 함.
    • ex) “왜 마이크로소프트에 관심이 있습니까?”
    • 또는, 과거에 수행했던 프로젝트오 함께 일한 팀이 직면했던 도전들을 얼마나 열띤 어조로 이야기하는지 보고싶어 함.
  • 팀워크/리더십
    • 가장 중요한 덕목중 하나임.
    • 갈등을 잘 봉합하고 주도적으로 일하는지, 사람들을 잘 이해하는지, 같이 일하고픈 사람인지 알고 싶어 함.

개발 책임자와 관리자

  • 코딩을 잘 해야 함.
    • 개발자와 마찬가지로 코딩과 알고리즘에 능통해야 함.
  • 팀워크/리더십
    • 관리자 역할을 맡은 사람도 리더십이 있고 팀워크가 좋아야 함.
  • 우선순위
    • 어떻게 프로젝트에 우선순위를 매기고, 덜 중요한 부분을 어떻게 쳐내는지 판단할 것임.
  • 소통
    • 다양한 수준의 사람들과 소통할 수 있는지, 친근하면서 따뜻하게 할 수 있는지 살핌.
  • 주어진 일을 완수한다.

스타트업

지원 절차

  • 구인 리스트를 공개함
  • 스타트업은 추천을 받는 것이 가장 좋은 방법임.

비자와 취업 승인

  • 대다수 소규모 스타트업은 취업 비자를 제공하지 못함.
  • 비자를 받아 스타트업에서 일하려면 전문 구인 리크루터 를 찾거나 규모가 큰 스타트업을 찾아야 함.

이력서 선정에 영향을 주는 요소

  • 코딩에 능숙할 뿐 아니라 사업가적 자질이 요구되는 환경에서도 능력을 발휘할 수 있는 사람을 원하는 경향이 있음.
  • 실전에 투입될 수 있는 자질도 굉장히 중요함.

면접 과정

  • 지원자의 인성, 기술, 과거 경력을 자세히 들여다보는 경향이 있음.
    • 친근하면서 호감 가는 톤으로 대화를 진행하는 것은 아주 중요함.
    • 경력일 경우, 사용했던 기술에 대한 세부사항을 확실히 훑어두어야 함.

기업 인수 및 인재 영입

  • 책 p28~32 참고

면접관의 입장

여기에 있는 문제를 그대로 사용하지 말라

  • 회사마다 선호하는 문제가 있음.
  • 지원자가 이책을 읽기에 이미 풀어본 문제를 출제할 이유가 없음.

중간 이상의 어려운 문제를 출제하라

  • 쉬운 문제는 좋은 평가 지표가 될 수 없음.

여러가지 난관을 거쳐야 하는 문제를 찾으라

  • 갖가지 난관, 통찰력, 최적화를 함께 물어볼 수 있는 문제가 좋다.

알기 어려운 지식이 아닌 풀기 어려운 문제를 출제하라

  • 자료구조와 알고리즘 → 지원자는 big-O 표기법, 트리에 대한 개념은 익숙함.
    • but, 다익스트라 알고리즘 AVL → 잘 기억하지 못함.
  • 기술에 대한 요구조건을 완화시켜 적절한 균형을 지켜야 함.

겁을 주는 문제는 피하라

  • 수학, 확률
  • 로우 레벨 지식(메모리 할당)
  • 시스템 디자인, 확장성

지원자를 긍정적으로 대하라

  • 지원자는 긍정 혹은 부정적으로 들리는 말에 흔들릴 수 있음.
    • 지원자가 면접 경험, 면접관에 대한, 혹은 그들의 성과에 대해 좋은 느낌을 간직하길 원함
    • 지원자가 편안한 느낌을 받길 원함.
  • 지원자에게 따듯하고 친근하게 대하길 바람.

행동 질문을 철저히 하라

  • 지원자는 도전적인 상황 속에서 과거 팀이 직면했던 힘든 상황에 대한 이야기를 한다.
    • 하지만, 지원자가 실제로 한 일은 많지 않을 것이라고 생각할 것임.
  • 지원자가 과거에 무엇을 했는지 이해가 어렵다고 해서 중요한 일을 하지 않은 것이 아님.
    • 현재 상황에 대해 설명하고 팀에서 역할이 무엇이었는지 정확히 말해달라고 요구하라.
    • 지원자가 했던 일이 대단치 않다고 느껴지면 더 깊게 캐물어라.

지원자에게 조언하라

  • 알고리즘 문제를 풀 때 지원자를 위해 조언을 하자.
    • ex) 지원자가 면접 문제를 풀 때 예제를 사용하지 않는데, 예제를 사용해보라고 조언하자.
  • 디버깅 보다는 코드를 개괄 분석한 뒤, 작은 예제를 사용해보는 것이 더 효율적임.
  • 지원자가 최적 해법을 찾기 전에 코딩을 하려고 한다면, 알고리즘에 먼저 집중하라고 알려줘라.
  • 지원자가 긴장해서 아무것도 못하고 있다면 프루트 포스를 먼저 생각해보고 최적화할 부분을 찾으라고 조언하자.

그들이 생각할 시간을 원한다면 생각할 시간을 주라

방식을 정하라 : 새너티 테스트, 수준, 전문가, 프락시

  • 아주 높은 레벨에서 면접 질문에 4가지 방식이 있음.
    • 새너티 테스트
      • 문제풀이 능력에 대한 최소한의 정도를 평가함.
    • 수준 테스트
      • 문제풀이와 디자인 분야에 좀 더 도전적인 질문과 관련된 것들임.
    • 전문가 문제
      • 자바, 기계 학습과 관련된 특정 분야의 전문지식과 관련된 문제들임.
    • 프락시 지식
      • 전문가 레벨이 아닌, 지원자의 현재 레벨에서 알고 있을법한 지식에 관한 것들임.

댓글

Designed by JB FACTORY