[고민] technical interview를 위해서는 책을 어떻게 공부해야 하나요?

  • monspo2
    monspo2

    안녕하세요.

    뒤늦게 미국에서 컴퓨터 관련(CS 아님) 박사 과정을 밟고 있는 나이 많은 노총각입니다.

    이런 질문을 어디에 올려야 할지 잠시 고민하다가,자유게시판에 올리면 적당할 것 같아 올려봅니다.

    많은 실력있는 분들이 대회 준비로 여기 사이트에와서 많은 정보를 얻는 듯 한데, 저같은 경우, 테크니컬 인터뷰를 대비하기 위해, 이 사이트를 방문하게 됐습니다. (지원한 포지션은 UX researchers쪽이 대부분인데, 자꾸 제 관련경력이 developer쪽에 더 적합하다고 하면서 Software Engineer쪽으로만 인터뷰 보자고 연락이 오네요.... 다른 쪽에선 연락이 안오니... 뭐 준비해야죠... ㅠㅠ)

    알고리즘 공부한 지가 거의 10년이 넘었고, 그때 받았던 성적도 좋은 편이 아닌지라...'알고리즘 문제 해결전략' 책을 두 권 세트로 사놓고 보는데... 막히는 부분도, 새롭게 느껴지는 부분도 참 많네요... 목표는 하루에 대충 한 챕터씩 보는 건데, 책 보며 멍때리는 시간이 많아지네요.. ㅠㅠ

    어쨌든 제 질문은... 여기 오시는 다른 분들처럼 대회 준비를 하는 게 아니더라도... 테크니컬 인터뷰를 통과하려면 어떻게 책을 활용해야 할까요??? 1권부터 차례로 보자니 진도가 잘 안나가고... 2권의 관심있는 챕터부터 보자니, 1권 내용을 이해하지 못하면 2권 진도도 잘 나가지 않는 듯 하고...

    careercup.com에 나온 인터뷰 문제들도 자주 풀어줘야 하는데... 제게 주어진 3달에서 최대 4달 동안의 제한된 시간 동안... 어떤 순서로, 그리고 어떻게 시간 관리를 어떻게 해서 준비해야 하는지 잘 모르겠네요...

    이론 공부를 따로 하고 책으로 다시 돌아와서 문제를 풀고 또 실제 인터뷰 문제도 풀고 하는 게 이상적일 듯 싶은데, 실제 그렇게 하려니 어떻게 디테일하게 시간 관리를 하고 준비해야 할 지 몰라서 답답합니다.

    부디 고수님들의 의견 및 방향제시 부탁드립니다.


    7년 전
4개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan

    1권에 상대적으로 분량을 많이 할애하여 적혀있는 분야들에 대해서 공부를 하신 다음에 인터뷰 문제들을 공부 하는 것이 어떨까요?

    공부에 대해서 왕도라는 것도 없고, 정답이 없는 것인지라 답변하기 힘든 이야기일 것 같기도 합니다.


    7년 전 link
  • Taeyoon_Lee
    Taeyoon_Lee

    제 생각에는... Topcoder에 가입하시고, Div2 문제를 풀어보시면 좋을 것 같습니다. 난이도도 많이 어렵지 않고, 다양한 사람들의 다양한 풀이법을 찾아볼 수도 있습니다. 정통으로 오래 공부하는 게 아니고, 단기간에 맛보기 겸 익숙해지는데는 이만한 게 없을 겁니다.


    7년 전 link
  • kwangswei
    kwangswei

    먼저 인터뷰 과정에서 중요하게 보는 것들을 파악해두셔야 합니다.

    첫째, 문제 풀기 전에는 문제를 정의하고 이해하는 능력을 봅니다. 문제를 줄 때 일부러 조금 부족하게 던져 줍니다. 지원자는 문제를 듣고 필요한 가정, 제약 조건 등을 질문을 통해 명확하게 해야 합니다. 예를 들면 정수 배열을 정렬하라. 라고 했다면 그냥 정렬하면 O(NlogN) 에 할 수 있겠지만 만약 정수의 범위가 1~100 이라고 한다면 기수 정렬을 통해 O(N) 에 할 수 있겠죠. 이런 식으로 필요한 가정들에 대해서 계속 질문을 하면서 문제를 구체화하는 것이 필요 합니다.

    두 번째로 문제를 풀기 전에 꼼꼼히 설계를 하고 대화를 하면서 알고리즘을 찾고, 어떤 테스트를 해야 할 지 고민합니다.

    세 번째로 구현을 완료하고 나면 버그가 없는 지 찾았던 테스트 케이스로 테스트를 해보고, 설계 시에 찾지 못했던 변경점은 없는지, 그 부분에서 버그는 없는 지 꼼꼼히 디버깅 해야 합니다.

    이 모든 과정은 인터뷰어와 계속적으로 대화를 하면서 풀어나가야 한다는 게 중요합니다.

    인터뷰에서 사용하는 문제는 주로 3~40분 내에 풀 수 있는 문제들로 구성 됩니다. 정렬, 단순 구현, 간단한 DP, 간단한 그래프 탐색, 자료구조 문제가 주를 이룹니다.
    사실 알고리즘 문제 해결 전략은 그런 면에서 모든 내용을 다 본다는 것은 적절하지 않다고 봅니다. 기본적인 자료구조와 문제풀이 전략, DP 정도 개념만 잡으시는데 활용하시고 책을 보신다면 cracking the coding interview 를 추천합니다. 이 책은 꼭 한 번 읽어보시기 바랍니다.

    저 책을 읽고 인터뷰 시 어떻게 문제를 풀어나가야 할 지에 대해 감을 잡으셨다면 그 이후에는 말씀하신 careercup 같은 사이트를 활용하셔서 문제를 계속적으로 푸는 것 밖에는 왕도가 없을 듯 합니다.


    7년 전 link
  • monspo2
    monspo2

    귀중한 시간들여 해주신 답변에 진심으로 감사드립니다..^^ 열심히 준비해서 좋은 결과 있게되면 꼭 다시 업데이트 하겠습니다. 좋은 하루 되세요.


    7년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.