코딩 인터뷰에서 실패한 이유 5가지

코딩 인터뷰에서 실패한 이유 5가지
Cozy CodingPosted On Jul 7, 20244 min read

암호화폐 전문가에요. 아래 이야기를 읽고 다시 정리해서 제게 보낼까요?

암호화폐 전문가에요. 부드러운 톤으로 한국어로 번역해 드릴게요.

암호화폐 전문가에요. 부드러운 톤으로 한국어로 넘어가는 식으로 작성해주세요.

내가 한 실수-

  • 적절한 지침과 준비 없이 취업 신청을 시작했습니다.
  • 이미 알고 있는 기초 지식을 반복적으로 복습하면서 현재 업데이트에 대해 알지 못했습니다.
  • 사실 몇 가지 기술적 토론에 참석했고 잘했다고 생각했습니다.
  • 업데이트되지 않았다는 피드백으로 거부 당했습니다! :O
  • 최신 기술 스택에 계속 작업했음에도 불구하고, 우리 프로젝트에서 사용하던 일부 사항만 인식하고 있었습니다.

언제나 (아직도!) 온라인 평가/라이브 코딩 인터뷰 소식을 들을 때 불안해했습니다. 과거 몇 차례 기업들을 피해왔는데, 그들을 맞이하기에 자신감이 충분하지 않았기 때문입니다. 지난 8년 동안 대부분의 시간을 향상, 버그 수정, 마감 기한을 추격하는 데 사용했습니다. 기본 코딩 기술을 연습할 시간조차 거의 없었습니다. 심지어 C#에서 배열을 초기화하는 방법을 잊어버렸는데, C#이 내 주요 전문분야였습니다! 정말 부끄럽죠?

우리 모두 일상 코딩에서 Google을 사용하지만, 기본 흐름조차 잊어버리는 것은 확실한 탈진의 징후입니다.

Interview Experience

Experiences from Coding Interviews (Just a Few)—

It was my first coding interview in a long time—

  • A well-known company, DraftKings, Inc., reached out to me.
  • The required skills matched perfectly with my expertise, so I was excited to begin the interview process.
  • I managed to delay the live-coding first round by a couple of weeks.
  • However, when the time came, I found it challenging to come up with the logic, even though it was simple.
  • While I could articulate my thought process, I couldn't complete the pseudo-code within the given time.
  • I only managed to complete 2 out of 4 tasks.

이 인터뷰에서 배운 점 —

  • 나는 면접관들에게 끝날 때 간단한 피드백을 요청하는 버릇이 있다. 어떤 사람들은 피드백을 주고, 어떤 사람들은 안 주기도 하지만, 나는 계속 묻는 것을 막을 수 없다.
  • 마찬가지로, 이 면접관에게 내가 무엇을 개선해야 할지 물어보았다.
  • 그는 내가 로직을 작성하는 데 복잡한 구문을 선택했다고 말했다. 문제를 해결하는 방법을 알고 있음에도 불구하고, 문법을 찾는 데 시간을 낭비했다! 단순히 여러 번 for 루프를 사용하여 해결할 수 있었을 텐데. :(

무엇을 배웠나요?

— 연습, 연습, 그리고 더 많은 연습.

  • 어떤 문제든 언제나 무차별 대입 방법을 생각해 보세요.
  • 단순한 루프를 사용하는 것이 개발자로서 덜 봐 주어지는 것은 아닙니다.
  • LeetCode/알고리즘 유형의 문제인 경우에는 패턴을 모를 때 간단한 루프를 사용하여 솔루션을 잠그세요.
  • 단위 테스트를 수행하세요. 긍정적인 경우와 부정적인 경우 둘 다 테스트하세요. 이를 통해 예외 상황을 고려할 수 있습니다.
  • 그럼 최적화하는 것에 대해 생각해봐요.

두 번째 코딩 인터뷰: 한 발 앞으로

  • 첫 번째 인터뷰에서 배운 점들을 적용했지만, 두 인터뷰 사이에 큰 격차가 없었어요.
  • 또 다른 대규모 기업(Geico)과 라이브 코딩.
  • 데이터 구조 알고리즘, 기타 백엔드 프로그래밍 내용을 다루는 테크니컬 트레이닝 코칭(Gigame: 이에 대해 글을 쓸 거에요)에 참여했어요.
  • 여기서 모든 기초를 배웠다고는 할 수 없지만, 어느 정도 시간 동안 JavaScript로 코딩을 연습했어요.
  • 인터뷰 날이 왔어요.
  • 문제 설명을 받고, 문제를 이해하는 데 5분을 소비한 뒤 아이디어를 내놨어요.
  • 생각 과정은 맞았지만, 기본 단계인 데이터 구조에 어떤 데이터를 넣어야 하는지는 몰랐어요.
  • 인터뷰어가 힌트를 주셔서 거기서부터 이해했어요.
  • 몇 가지 긍정적인 케이스와 예외 케이스를 작성했지만, 코드를 실행할 시간은 없었어요.
  • 언제나 피드백을 요청했고 - 인터뷰어가 말했어요, 당신은 해결책을 알고 있지만 주어진 시간 내에 프로그램을 완성하는 연습이 필요하다고.
  • 다시 실패했지만! 긍정적인 면에서 첫 인터뷰에 비해 몇 발자국 진전했다는 점이 기쁘더라고요 :)

내가 배운 것은?

  • 새로운 언어로 자신있게 코딩할 수 있어 기쁘게 생각했습니다.

  • 문제에 대한 해결책을 찾을 수는 있었지만, 기본 데이터 구조에 대한 이해가 부족했습니다.

  • 문제를 이해하는 것이 중요하긴 하지만, 코드를 구현하고 테스트하는 시간을 할애하는 것도 중요합니다. 부분적으로라도 작동하는 해결책은 여러분의 사고 과정과 코딩 능력을 보여줄 수 있습니다.

여러 회사들에 꾸준히 지원하면서 동시에 준비를 해왔습니다. 시장이 좋지 않았음에도 불구하고 많은 인터뷰 요청을 성공적으로 받았고, 많은 테이크 홈 과제를 완수하는 데 시간을 보냈습니다. 그들로부터 연락을 받은 경우도 있었고 그렇지 않은 경우도 있었지만, 꾸준히 이러한 테스트를 보는 것은 저에게 좋은 연습이 되었고 결국 몇몇 코딩 인터뷰를 통과할 수 있었습니다. 실제로 빨리 끝내기도 했죠!

위의 텍스트를 번역하면 다음과 같습니다:

"읽어 주셔서 감사합니다 :)

결과를 얻기 위해 어떤 단계를 거쳤나요?

여기서 Part -2를 클릭해주세요! :)"