잘못된 개발자 면접 준비 방법 피하기 (+ 준비 자료)

개발자 면접 자료 준비를 어디서부터 어떻게 해야 할지 모르겠나요? 또는 유명한 자료를 읽어도 도움 되지 않은 경우가 있으셨나요?


커리어리에 포스팅 시작한 후 꾸준히 면접에 자료(특히 해외 자료)를 꾸준히 공유해 왔어요(궁금하신 분은 인기글 하이라이트를 확인해 주세요).


오늘은 면접 준비 자료 공유에만 집중하는 게 아니라, 면접 준비할 때 최대한 나에게 필요한 자료를 수집하는 방법에 관해 좀 더 이야기해 보자고 합니다.


-------------

알고리즘 자료

-------------


1️⃣ 개념 이해 부족인지 연습 부족인지 판단하기


개념 이해가 부족하다면 개념 잘 설명해 주는 자료를 찾고 연습이 부족하다면 연습할 수 있는 자료를 먼저 찾아야 해요.


개념 이해 부족이라면? 알고리즘과 자료 구조 개념을 설명해 주는 책과 자료는 정말 많습니다. 하지만 면접 준비 중이라면 내 레벨에 따라 효율적으로 효과적으로 설명해 주는 자료를 잘 걸러내야 해요.


아예 접해 보지 못한 개념을 배워야 한다면 이론적으로 잘 설명해 주는 자료를 찾아서 먼저 공부하는 게 좋습니다. 이론 설명이 더 필요한 경우 (단, 예시 코드 없음) 압둘 바리 유튜브 채널을 확인해 보세요.

https://www.youtube.com/@abdul_bari


반대로 개념을 복습해야 할 경우 개념을 너무 이론적으로만 설명하는 자료보다는 쉽게 설명해 주고 바로 예시 코드를 보여주는 자료가 더 좋습니다. 문제 풀 때 개념을 아는데 코드로 풀어서 적지 못하는 경우가 꽤 많아요. 실제 문제 풀이 패턴을 이해하면 비슷한 문제를 풀 때 짜는 코드는 굉장히 비슷합니다. 이럴 때 코드 예시를 잘 보여 주는 자료를 찾는 게 중요한 데 니트코드의 자료와 freeCodeCamp의 자료가 이 경우에 많이 도움 될 것 같아요. 관련 자료는 개념을 빠르게 복습하도록 설명하고 특정 알고리즘과 문제 풀이 패턴의 예시 코드를 꼭 보여 줍니다. 그 코드를 보고 따라함으로서 문제 풀기 실력을 높일 수 있어요.


연습 부족이라면? 문제를 풀어 보고 테스트 코드까지 실행할 수 있는 플랫폼을 찾습니다. 그리고 필요한 게 관련 코딩 문제를 설명해 주는 자료까지 함께 찾으면 좋아요. 설명해 주는 자료는 보통 두 가지 문제점이 있어요. 첫 번째는 설명이 너무 겉돌아서 보거나 말거나인 경우, 두 번째는 설명이 너무 아카데믹해서 읽어도 이해 안 되는 경우입니다. 따라서 밸런스가 잘 맞는 자료를 찾는 게 중요합니다. 자료가 궁금하다면 이전에 포스팅한 <실력 향상을 위한 해외 유튜브 채널 10개> 글을 참조해 주세요.


2️⃣ 개념 중 잘 풀 수 있는 개념, 그렇지 못한 개념 분리하기


모든 자료가 모든 개념을 잘 설명해 주면 좋지만, 자료마다 개념 설명의 퀄리티가 다를 수 있어요. 예를 들어 freeCodeCamp의 Tree/Graph의 BFS/DFS나 Dynamic Programming을 설명하는 자료의 퀄리티는 좋지만, Backtracking을 설명하는 자료는 상대적으로 퀄리티가 조금 부족한 것 같아요. 이처럼 내가 잘 풀 수 있는 알고리즘 개념과 아닌 개념을 구분해서 아닌 개념의 퀄리티가 높은 자료를 타겟해서 찾는 게 좋습니다.


제가 생각하는 도움 되는 개념별 자료 몇 가지 공유:

  1. Graph: https://youtu.be/tWVWeAqZ0WU

  2. Tree: https://youtu.be/fAAZixBzIAI

  3. Dynamic Programming: https://youtu.be/oBt53YbR9Kk

  4. Array/List/String/Binary Search: https://neetcode.io/courses/dsa-for-beginners/0

  5. Concurrency: https://www.educative.io/courses/python-concurrency-for-senior-engineering-interviews


3️⃣ 회사별 자주 출제되는 알고리즘 문제 수집하기


회사별 자주 출제되는 문제가 반드시 있는 건 아니지만 확실히 데이터를 기반으로 면접을 준비하면 많이 도움 되는 것 같아요. 리트코드와 같이 상호적인 플랫폼은 지원자가 어떤 회사 면접에서 어떤 문제가 출제되었는지를 익명으로 제보합니다. 따라서 회사별 최근 6년에서 1년 사이에 많이 나오는 문제 리스트를 볼 수 있는 기능이 있어요. 회사별 자주 출제되는 문제를 확인한 후 우선순위를 매겨 필요한 개념부터 공부하고 문제 풀이 연습하면서 효율적으로 면접을 준비해 보세요.


그리고 리트코드에 특정 기능을 사용하면 정말 효율적으로 회사별 면접 준비를 할 수 있는데요, 이 부분은 제가 강력하게 추천하지만 다음 포스팅에 공유해 볼게요.


Glassdoor라는 플랫폼도 이 경우 도움 돼요. 리트코드에서 회사 별 출제되는 문제는 직급별로 나누어져 있지 않습니다. 따라서 특정 회사에 직급별로 나온 문제가 궁금하다면, 글레스도어를 확인해 보세요. 최근 특정 회사에 면접을 보고 익명으로 피드백을 올리는 플랫폼인데, 사람들이 공유한 피드백을 통해 특정 직급에 어떤 문제가 잘 나오는지를 훑어볼 수 있습니다.


-------------

시스템 설계 자료

-------------


1️⃣ 나의 레벨에 적합한 자료 찾기


유명한 시스템 설계 자료지만 나에게 맞지 않을 수 있습니다. 예를 들면 개인적으로 Alex Xu의 시스템 디자인 책이나 니트코드의 시스템 설계 코스는 시니어+ 개발자가 사용하기에 부족한 점이 많은 것 같아요. 다만 전반적으로 어떤 설계 공부를 해야 하는지 방향성을 얻을 때 좋은 자료이기는 합니다.


개념만 설명하는 게 아니라, 하위 개념까지 제대로 설명하는 자료 찾으려면...

회사마다 포지션마다 다르지만 시니어+ 개발자는 단순한 컴포넌트 설계가 아닌 라지 스케일 (또는 분산 시스템) 개념을 테스트하기도 합니다. 또한 상위 설계만 테스트하는 게 아니라 하위 설계까지 테스트하는 경우도 있어요. 이경우 개념을 정확하게 알고 깊게 파고들면서 설명할 수 있어야 합니다. 이 부분을 테스트하는 면접관이 상당히 많아요.


자세한 개념을 공부해야 하는 경우 다음 자료를 추천합니다.

  1. https://www.educative.io/

  2. https://www.youtube.com/@SystemDesignInterview

  3. learn.crushingtecheducation.com

  4. https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/


주의: 포지션마다 요구 사항이 다르기 때문에 반드시 회사의 채용 담당자와 확인해 보세요!


추가: 면접 준비할 때 하위 설계까지 공부하면 좋은 점

  • 실무에 도움 되는 개념을 습득할 수 있다

  • 실무에 직접 사용한 개념을 정리하고 복습하면서 개념을 확실히 내 것으로 만들 수 있다

  • 행동 면접 준비할 때 예시 설명을 더 테크니컬하게 할 수 있다

  • 시스템 설계 면접 볼 때 개념 설명을 더 테크니컬하게 할 수 있다

  • 절충점 찾기 실력을 늘릴 수 있다


2️⃣ 다양한 설계법을 설명하는 자료 찾기


굳이 같은 전문 분야에 비슷한 시스템을 설계하는 곳으로 늘 이직하는 건 아니에요. 기본 개념을 탄탄히 다진 개발자라면 다양한 분야에 도전할 수 있어요. 이 경우 특정 전문 분야만 해보면 다양한 설계를 해보지 않아서 다양한 개념을 잘 모를 수 있어요. 예를 들어 스토리지 설계만 해본 개발자에게 갑자기 소셜 미디아 플랫폼을 설계해 보라고 하면 스토리지 부분은 잘 설계할 수 있지만 소셜 미디아 플랫폼 전체를 제대로 설계하지 못할 수 있습니다. 필요한 모든 컴포넌트와 개념을 파악해서 설계하지 못할 수 있어요. 이럴 때 상위 개념만 설명해 줘도 다양한 설계법이 있는 자료를 면접 준비할 때 빠르게 훑어보는 것도 좋아요.


관련 자료:

  1. Alex Xu의 시스템 디자인 면접 책

  2. https://www.educative.io/

  3. https://bytebytego.com


3️⃣ 특정 회사 기술 블로그


시니어+ 개발자의 경우 하위 설계까지 테스트하는 회사가 꽤 있어요. 이 경우 회사마다 필요로 하는 실무에서 얻을 수 있는 설계 패턴이나 개념을 익혀두는 게 좋아요. 특정 회사 블로그를 읽어 보면 좋은데, 미디엄(예: 넷플릭스, 핀터레스트 블로그)에 많이 있습니다.


위 방법으로 시스템 설계 개념을 잘 배워두고 특정 회사 면접을 잘 준비하려면 블로그 글을 틈틈히 함께 읽어 주면 좋습니다.


-------------

행동 면접 자료

-------------


예전 포스팅에서 공유했지만, 직급이 높을수록 행동 면접을 잘하는 것이 중요해요. 보통 코딩 테스트 면접에만 집중해서 준비하는 경우가 많습니다. 하지만 행동 면접을 제대로 못 해서 탈락하거나 downlevel되는 경우가 빈번히 일어납니다. 관련 이야기는 미국 대기업에 근무하는 수석 개발자가 유튜브에서 하기도 했어요(아래 관련 글 참고).


1️⃣ 행동 면접 팁 자료 찾아보기


행동 면접 준비는 팁 자료를 여러 가지 보는 게 좋습니다. 유튜브나 미디엄 블로그 플랫폼에 관련 자료가 많아요. 그래서 취업 준비할 때 관련 팁을 제공하는 유튜브 채널을 찾아보며 틈틈이 시청하면 좋을 것 같아요.


2️⃣ 연습할 수 있는 플랫폼 찾기


의사소통 스킬이 부족하거나 행동 면접에서 버벅거리는 경우가 빈번하다면 연습하기 플랫폼을 추천합니다. 실제 면접관과 모의 면접을 해보면서 건설적인 피드백을 받으면서 빠르게 부족한 점을 개선할 수 있어요. 특히 해외 취업을 준비하는 경우 영어로 잘 말하는 연습을 해야 합니다.


또는 모의 면접 비용이 부담된다면 실제 다양한 면접을 자주해 보면서 실력을 늘리는 것도 하나의 방법이라고 생각합니다. 다만 모의 면접 플랫폼과 달리 피드백을 받을 수 없어서 뭐가 부족한지 제대로 알지 못할 수도 있어요.


해외 취업 준비하는 경우:

  1. https://interviewing.io

  2. https://learn.interviewkickstart.com/


-------------


자료를 수집한 후 본인의 실력에 맞게 학습 설계하면 면접 준비를 효과적으로 할 수 있어요. 이 부분은 다음에 포스팅해 볼게요.


🔗 관련 글

  • https://youtu.be/hU6BVxtGd5g


🪴 함께 읽으면 좋은 글


이직이 필요한 상황인지 판단하기

https://careerly.co.kr/comments/93357


기술, 개발 학습 자료 7가지

https://careerly.co.kr/comments/91555


면접용 알고리즘, 자료 구조 CheatSheet 15개

https://careerly.co.kr/comments/89598도


실력 향상을 위한 해외 유튜브 채널 10개

https://careerly.co.kr/comments/88786

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 11월 4일 오전 4:49

 • 

저장 940조회 26,171

댓글 6