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

  • User Avatar
    monspo2

    안녕하세요.

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

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

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

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

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

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

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

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


    12년 전
4개의 댓글이 있습니다.
  • User Avatar
    hyunhwan

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

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


    12년 전 link
  • User Avatar
    Taeyoon_Lee

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


    12년 전 link
  • User Avatar
    kwangswei

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

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

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

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

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

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

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


    12년 전 link
  • User Avatar
    monspo2

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


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