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

요약

  • 가능한 최선의 수행 시간(Best Conceivable Runtime(BCR))
  • 오답에 대한 대처법
  • 알고 있던 문제가 면접에 나왔을 때
  • 면접용으로 ‘완벽한’ 언어
    • 널리 사용되는 언어
    • 언어 가독성
    • 잠재적인 문제점
    • 언어가 얼마나 장황한지
    • 사용하기 쉬운 언어
  • 어떤 코드가 좋아 보이나
  • 포기하지 말라
  • 합격한 뒤에
    • 합격 또는 거절 통지에 대처하는 요령
      • 입사 결정 기한과 연장
      • 입사 제안 거절
      • 탈락 통보 대처
    • 입사 제안 평가
      • 재정 관련 사항
      • 경력 개발
      • 회사의 안전성
      • 행복의 척도
    • 연봉 협상
    • 입사 후
      • 튼튼한 관계 수립
      • 원하는 것을 요구하라
      • 꾸준히 면접을 보라

메모

가능한 최선의 수행 시간(Best Conceivable Runtime(BCR))

  • 어떤 문제를 푸는 데 상상할 수 있는 모든 해법 중 수행 시간이 가장 빠른 것
    • 가능한 최선의 수행 시간(BCR) 보다 빠른 해법은 존재할 수 없다는 사실을 쉽게 증명할 수 있어야 함.
  • 최선의 경우의 수행시간(Best Case Runtime)이란, 특정 알고리즘이 가장 빠르게 동작할 경우의 수행 시간을 의미함.
    • 가능한 최선의 수행 시간과 아무 관계가 없음.
  • 가능한 최선의 수행 시간을 반드시 만족할 필요는 없음.
    • 단순히 어떤 알고리즘도 이보다 나을 수 없다고 알려줄 뿐임.

오답에 대한 대처법

  • 면접에서 답을 평가할 때 ‘맞냐’ 아니면 ‘틀렸냐’ 로 보지 않는다.
  • 면접관은 지원자들을 상대적으로 평가한다.
  • 대부분의 문제가 아주 어렵기 때문에 굉장히 실력 있는 지원자라 하더라도 단번에 최적 해법을 말하긴 어려울 수 있다.

알고 있던 문제가 면접에 나왔을 때

  • 이미 알고 있다면 면접관에게 솔직하게 얘기하자.
    • 정직한 사람이라는 긍정적인 평가를 얻을 수 있을 것임

면접용으로 ‘완벽한’ 언어

  • 가장 편하게 코딩할 수 있는 언어를 선택하는 게 가장 좋다.

널리 사용되는 언어

  • 면접관도 알고 있는 언어로 코딩하는 것이 바람직하다

언어 가독성

  • 어떤 언어들은 자연스럽게 쉽게 읽히는 경향이 있음.`
  • Java : 꽤 쉽게 이해할 수 있는 언어
  • C, C++ : 사용해본 경험이 있음.
  • 스칼라, 오브젝티브-C : 위와 상당히 다른 방식의 언어임.

잠재적인 문제점

  • ex) C++ 을 사용하면 메모리 관리와 포인터 때문에 생기는 문제점들도 해결해야 함.

언어가 얼마나 장황한지

  • ex) 자바는 파이썬에 비해 상당히 장황한 언어임.

사용하기 쉬운 언어

  • ex) 파이썬은 함수에서 복수의 값을 반환하기 쉬움.
    • 하지만 자바에서는 기능을 사용하려면 새로운 클래스가 추가로 필요함.

어떤 코드가 좋아 보이나

  • 정확도
  • 효율성
  • 간략화
  • 가독성
  • 관리 가능성

적절한 자료구조를 사용하라

나쁜 구현 형태

좀 나은 구현 형태

좋은 구현 형태

적절한 코드의 재사용

모듈화

유연하고 튼튼한 코드

오류 검사

  • p117 ~ 121 참고

포기하지 말라

  • 면접장에서 출제되는 언어가 압도적으로 어렵다고 생각할 수 있음.
    • 이러한 상황에 어떻게 대처하는가도 면접관이 테스트하려는 것 중 하나임.
    • 까다로운 문제에 당당히 맞서는 자세가 중요함.

8. 합격한 뒤에

합격 또는 거절 통지에 대처하는 요령

입사 결정 기한과 연장

  • 회사에서 정해진 기한이 있음.
    • 보통 1 ~ 4 주 정도임.
    • 기한 연장 요청을 할 수 있음.

입사 제안 거절

  • 공손한 어투로 입사 제안을 거절하고, 계속 연락을 할 수 있는 채널을 열어 두는 게 좋음.
  • 거절 시, 명백한 이유를 대는 것이 좋음.

탈락 통보 대처

  • 기업들은 이미 탈락한 지원자가 다시 도전하더라도 면접을 꺼리거나 하지 않음.
    • 심지어, 어떤 회사는 과거 지원자에게 직접 연락하거나 이전 성과를 고려해 서류를 빠르게 처리해주기도 함.
  • 탈락 통보를 받으면, 이를 재지원하는 기회로 만드는 것이 좋음.
    • 구인 담당자에게 시간 내 줘서 고맙다는 인사와, 충분히 이해한다는 말을 하는 것이 좋음.
    • 언제 다시 지원할 수 있는지 물어보면 됨
    • 또, 피드백을 공유해달라고 요청해볼 수 있음.

입사 제안 평가

재정 관련 사항

  • 계약 보너스, 이직 보너스, 딱 한 번 주는 혜택
  • 생활 비용 차이
  • 연간 보너스
  • 스톡 옵션과 증여

경력 개발

  • 이직을 했음에도, 몇 년 뒤 다시 어느 회사 면접을 볼지 궁리하게 됨.
    • 따라서, 입사 제안이 나의 경력에 어떤 영향을 미칠지 생각해보는 것이 중요함.

회사의 안정성

  • 회사가 안정적이냐에 따라 성장이 느리거나 빠를 수 있음.
    • 회사의 안정성은 지원자의 가치관에 달려 있음.

행복의 척도

  • 제품
  • 관리자와 동료
  • 회사 문화
  • 근무 시간

연봉 협상

  • 그냥 해 보라
  • 실질적인 대안을 가져라
  • 구체적으로 요구하라
  • 많이 부를 것
  • 연봉 이외의 것도 고려하라
  • 가장 좋은 협상 매체를 고르라

입사 후

  • 일정 수립

튼튼한 관계 수립

  • 무언가 새롭게 시작하고 싶다면 네트워크를 형성하는 것이 중요함.

원하는 것을 요구하라

  • 지원자의 경력에 도움되는 도전을 찾아나서는 것은 전적으로 지원자 본인에게 달려 있음.
    • 내 목표를 관리자에게 적절한 수준으로 솔직하게 표현하라

꾸준히 면접을 보라

  • 적어도 일 년에 한 번 정도는 면접을 보길 바람.

댓글

Designed by JB FACTORY