JavaRush /Java Blog /Random-KO /기술 인터뷰에서의 곡예 비행: Google, Microsoft 등에 입사한 방법

기술 인터뷰에서의 곡예 비행: Google, Microsoft 등에 입사한 방법

Random-KO 그룹에 게시되었습니다
Medium의 스타트업 커뮤니티에 있는 Ace Your Technical Interview: What Got Me Into Google, Microsoft and More 기사 번역 및 각색 . 기술 인터뷰에서의 곡예 비행: Google, Microsoft 등에 입사한 방법 - 1처음 인턴십 면접을 하기 전에는 기술적인 질문도 나올 줄은 몰랐습니다. 나는 단지 "자신에 대해 말해주세요"라는 질문이 나를 기다리고 있을 것이라고 생각했습니다. 하지만 나 역시 그에 대한 준비가 제대로 되어 있지 않았다. 나는 진로지도 센터에서 두 시간을 보내며 모두에게 귀중한 조언을 구했고, 또 다른 두 시간은 집에서 다양한 질문에 대한 답변을 연습했습니다. 그런데 제가 면접을 보러 왔을 때 면접관은 저의 장점과 단점을 묻지 않았습니다. 대신 마커를 건네받고 칠판으로 가라는 지시를 받았습니다. 그리고 제 실력을 먼저 확인해주실 거라고는 생각도 못했어요! 이것은 나를 놀라게 했다. 나는 질문에 올바르게 대답하는 방법을 몰랐고 몇 시간 후에 정중하게 거절하는 이메일을 받았습니다. 다행히도 이 사건 이후 나는 많은 성공적인 인터뷰를 가졌습니다. 나는 50번의 기술 인터뷰에 참여했고 많은 친구들이 이를 위해 준비했습니다. 내 접근 방식은 나와 다른 사람들이 Google, Microsoft, Apple, Amazon 등과 같은 회사의 인터뷰에서 성공하는 데 도움이 되었기 때문에 매우 효과적인 것 같습니다. 저는 개인적으로 모든 사람을 돕고 싶지만 시간이 충분하지 않습니다. 제가 할 수 있는 최선은 기술 인터뷰에서 성공하는 방법에 대한 단계별 가이드를 공유하는 것입니다. 그런 상황에서 할 수 있는 것과 할 수 없는 것이 무엇인지 시행착오를 통해 배웠습니다. 그래서 여기에 제가 수년간의 연습을 통해 수집한 유용한 팁 목록이 있습니다.

1. 모의면접에 바로 뛰어들지 마세요.

사람들은 일반적으로 가능한 한 많은 모의 인터뷰를 하라고 조언하는데, 그 말이 맞습니다. 하지만 준비가 되어 있지 않다면 모의 인터뷰는 효과가 없고 위협적이며 심지어 사기를 저하시킬 수도 있습니다. 경험을 통해 말씀드릴 수 있습니다. 제가 연습으로 완전히 준비되지 않은 사람을 인터뷰하면 결국 질문에 "떠다니고" 잘 대답하지 못하기 때문에 그들은 의욕을 잃게 됩니다. 더 잘 준비하고 기술 면접이 어떤 것인지 이해하는 데 시간을 투자하세요. 다음은 Google의 모의 인터뷰의 좋은 예입니다.

2. 의사소통 능력 > 기술교육 수준

많은 사람들이 LeetCode 및 Hackerrank와 같은 사이트에서 몇 시간을 보내며 기술 인터뷰를 준비합니다. 이는 연습을 위한 훌륭한 플랫폼입니다. 하지만 인터뷰에서 직면하게 될 문제를 엉뚱하게 해결하느라 많은 시간을 낭비하기 전에 잠시 쉬어가는 것이 가장 좋습니다. 이것은 비효율적인 접근 방식입니다. 인터뷰에서 이전에 어디서도 본 적이 없는 질문을 하나 이상 접하게 될 것입니다. 내 친구 중 일부는 나보다 뛰어난 프로그래머를 갖고 있으며, 나는 기술 배경 테스트에서 좋은 성적을 거뒀는데 그 친구들은 (가끔) 그렇지 못한 이유에 종종 놀랐습니다. 우리 사이의 가장 큰 차이점은 아마도 의사소통 기술을 연습하는 데 많은 시간을 보냈다는 점일 것입니다. 진지하게 말하자면, 솔루션 논리를 명확하게 설명할 수 없다면 상위 100가지 기술 작업을 해결하는 방법을 아는 것은 도움이 되지 않습니다. 생각을 공식화하는 법을 배우는 것은 매우 중요합니다. 처음에는 이 모든 것이 어렵고 어색하고 부자연스러워 보일 수 있지만 연습이 도움이 됩니다. 기술적인 배경을 최신 상태로 유지하는 것도 중요하지만 의사소통 기술을 개발하는 것이 아마도 훨씬 더 중요할 것입니다. 다가오는 인터뷰를 앞두고 시간이 촉박하다면, 컴퓨터 공학에서 2년 동안 공부한 내용을 이틀 만에 다시 하려고 하는 것보다 의사소통에 집중하는 것이 더 좋습니다. 다음 기술 인터뷰 전에 다음 사항을 배워 보십시오.

2.1 명확한 질문을 하는 법을 배우세요

인터뷰의 가장 큰 장점 중 하나는 질문받은 내용을 명확하게 설명할 수 있다는 것입니다. 일반적으로 인터뷰를 진행하는 사람들은 모든 정보를 제공하지 않으므로 그들로부터 추가 세부 정보를 추출해야 합니다. 문제가 무엇인지 완전히 이해하지 않으면 문제를 해결할 수 없습니다! 연습하려면 기술 인터뷰에서 몇 가지 질문을 받아 이를 명확하게 하는 일련의 질문을 생각해 보세요. 예를 들어, 목록을 정렬하라는 요청을 받으면 다음과 같이 질문할 수 있습니다.
  • 목록을 정렬하는 방법 - 오름차순 또는 내림차순으로?
  • 목록에는 어떤 유형의 데이터가 포함되어 있나요?
  • 이러한 유형의 작업에 대해 데이터 입력 및 출력이 어떤 모습이어야 하는지 예를 들어주실 수 있나요?
  • 등.
더 많은 질문이 있을 수 있습니다. 이는 단지 몇 가지 예일 뿐입니다. 다양한 뉘앙스를 명확히 하세요. 입력과 출력의 예를 요청하세요.
  • 데이터 유형 지정
  • 값 범위에 제한이 있는지 확인하십시오.
  • 극단적인 경우를 처리해야 하는지 물어보세요.
  • 프로그래밍 중인 언어의 특정 라이브러리와 기능을 사용할 수 있는지 알아보세요.

2.2 생각을 표현하는 법 배우기

모든 명확한 질문을 하고 문제를 해결하는 데 필요한 것이 무엇인지 정확히 알고 나면 솔루션의 본질을 적절하게 전달하는 방법을 배울 차례입니다. 도중에 왜 그 일을 하는지 설명하지 않고 그냥 코드 작성을 시작한다면, 면접관은 당신이 옳은지 그른지 파악하기 어려울 것입니다. 이에 대한 점수를 받지 못할 뿐만 아니라 잘못된 솔루션을 작성하게 될 수도 있다는 사실은 말할 것도 없습니다. 도중에 결정의 이면에 있는 논리를 설명하면, 면접관이 진로에서 조금 벗어나더라도 올바른 방향을 알려줄 수 있습니다. 코드를 작성하기 전에 다음을 시도해 보세요.
  • 가능한 해결책에 대해 대화 상대에게 말하십시오. 문제를 "정면"으로 해결할 수 있습니까? 가능합니까, 아니면 어떻게 든 개선 할 수 있습니까?
  • 예제를 통해 솔루션을 단계별로 살펴보고 작동 방식에 대한 요점을 파악하세요.
  • 솔루션을 여러 단계로 나누고 면접관이 사고 과정을 이해할 수 있도록 유사 코드 또는 "골격"을 작성합니다.
  • 다양한 엣지 케이스로 솔루션을 테스트하여 모든 것을 다루었는지 확인하세요. 면접관의 의견을 물어보세요.
연습하려면 면접 질문을 받고 친구에게 정답(해결책)을 말해 보세요. 친구를 찾을 수 없다면, 인형이나 다른 물건을 가지고 연습해보세요.

3. 기술 지식과 기술을 향상시키세요.

인터뷰에서 올바르게 의사소통하는 방법을 배운 후에는 기술 지식을 향상시키는 데 모든 에너지를 쏟을 수 있습니다. 알고리즘과 데이터 구조를 자세히 살펴보세요. 데이터 구조, 정렬, 알고리즘 작업, 비트 연산자, Big O 표기법 등과 같은 주요 주제를 이해했는지 확인하세요. 알아야 할 사항 목록은 지원하는 직위에 따라 다릅니다.

4. 연습하세요!

이제 필요한 기술과 지식을 업그레이드하면 모든 에너지를 실천에 쏟을 수 있습니다.
JavaRush 과정에는 애플리케이션 솔루션 생성을 위한 많은 "퍼즐" 작업과 전체 프로젝트가 포함되어 있습니다.
솔루션을 작성하는 것뿐만 아니라 단계를 통해 생각하십시오. 정신적으로 명확한 질문을 하고 구조를 통해 생각한 다음 솔루션을 작성하십시오. 이렇게 하면 면접에서 더 자신감을 갖는 데 도움이 되며 자신감이 최고입니다!

5. 인터뷰 도중에 "멈추게" 되면 어떻게 해야 합니까?

이제 당신이 실제 인터뷰에 들어갔고 갑자기 그 질문이 당신을 당황하게 만들었다는 것을 깨달았다고 상상해 봅시다. 당신은 무엇을 해야 할지, 어떻게 문제를 해결해야 할지 전혀 모릅니다. 당신은 방에서 뛰쳐나가고 다시 돌아오지 않기를 원합니다. 이해합니다. 저는 아직도 악몽을 꾸는 상황에 처해 있습니다. 하지만 걱정하지 마세요. 아직 모든 희망이 사라진 것은 아닙니다. 인터뷰 중에 이런 일이 두 번 이상 발생했지만 일반적으로 제안으로 끝났습니다. 힘들고 신경이 거슬리지만 무엇이든 가능합니다. 잠시 쉬면서 생각해보세요. 숨을 쉬고 생각을 정리하십시오. 아마도 당신은 "단서"를 갖게 될 것입니다. 간단한 예제를 통해 솔루션을 테스트해보세요. 유사한 문제에 대한 솔루션의 단순화된 버전을 만들어 보십시오. 그러나 단계별 조치에 주의하면서 더 단순해집니다. 예를 들어, 목록을 정렬해야 한다면 어떻게 해야 할까요? 가장 작은 숫자를 찾아서 맨 앞에 넣으세요. 이 솔루션을 코드로 어떻게 구현하시겠습니까? 프라이빗 솔루션에 대해 알려주세요. 완전한 해결책이 나오지 않더라도 괜찮습니다. 면접관에게 이 사실을 말하되, 그가 당신의 생각에 동참하도록 하십시오. 이 문제는 귀하가 직면한 문제와 유사합니까? 이 문제를 해결하려면 특정 데이터 구조를 사용해야 할 것 같나요? 당신을 안내하는 논리를 공유하십시오. 솔직해지세요. 당신이 묻는 질문이 당신에게 익숙하지 않은 지식 영역에서 나온 것이라고 확신한다면 면접관에게 그것에 대해 이야기하십시오. 해결책을 찾을 준비가 되었지만 아직 필요한 기술이 없다고 가정해 보세요. 한번은 네트워크 보안과 관련된 질문을 받은 적이 있습니다. 당시 저는 이 분야에 대한 연습이 없었기 때문에 면접관들에게 말했습니다. 그들은 내가 작업에 대처할 수 있도록 필요한 기본 사항을 설명했습니다. 실제 사람들과 인터뷰하게 됩니다 :) 그들은 비슷한 상황에 처해 있었기 때문에 당신을 완벽하게 이해합니다. 이것이 제가 수년간의 인터뷰를 통해 개발한 모든 팁입니다. 그들은 나와 내 친구들이 일류 기업에 들어갈 수 있도록 도와주었습니다. 행운을 빕니다!
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION