개발자인가,디자이너인가,다능인인가

코딩 인터뷰 완전분석 - 서론 본문

- 프로그래밍/코딩 인터뷰

코딩 인터뷰 완전분석 - 서론

PRO HYEON 2017. 8. 2. 23:21


코딩 인터뷰 완전분석


서론



 

 

 

 

 


 나의 서론



이렇게 다른책을 정리하자니 막상 두려움이 든다

이 글을 작성하는 목적이 무엇인가

나를 위한것인가 아니면 익명의 누군가가 들어와서 정보를 얻고가는것이 목적인가

아직까지 그 목적이 모호하기도 하고

또 다른사람이 힘들게 쓴 책을 요약하는것에 대해서

약간의 거부감 또한 존재한다


물론 책을 그대로 똑같이 옮기는것은 아니다

책에서 중요하다고 생각하는 문장과

그에 대한 나의 경험 및 생각을 덧붙여서

글을 계속 작성해나갈 생각이다


나도 더욱 다양한 경험을 한 후에 이것을 다시 봤을때

아 스무살때는 이렇게 생각하고 있었구나


만약에 틀린 부분이 있다면 수정을 하면서

또다른 스무살에게 도움이 되는것이 최종 목표이다







1. 좋은 직원을 뽑는다



 만약 내가 소프트웨어 회사를 운영하고 있는 사람이라면

직원으로 오는 사람이 어떤사람이면 좋겠는가?


당연히 답이 정해져있다


'좋은 사람'

'좋은 개발자'


그러면 반대로 생각해보자

소프트웨어 면접을 지원하는 입장에서 준비해야 될것은 무엇인가?


당연히 '좋은 사람(개발자)'이 되면된다

근데 막상 면접을 준비하는 과정을 들여다보면

면접에 뭐가나올까 하면서

공격에 대한 방어를 준비하는 사람들이 대부분이다


물론 틀린말은 아니다

다들 성공적인 면접을 보려는 목표는 같으니까

그러나 어떤 공격이 들어오는지 알고 방어하는지 모르고 방어하는지 대한것은

합격과 탈락의 그 선상을 아는것과 비슷하지 않을까 생각이 든다


그러나 이러한 부분은 한계가 있다

면접관마다 스타일도 모두 다르고

경험, 지식, 배경 모든것이 다를텐데

나에게 들어올 질문들을 어떻게 알 수 있겠는가


가장 중요한것은

단순히 질문에 대한 답변뿐만 아니라

도전적이고 진취적인 자세로 문제를 대하는것이 더 중요하다

결국 좋은 회사가 원하는 직원은 바로 그런 직원이니까







2. 컴퓨터 과학에 대한 이해



이 책의 목적은

여러분이 지닌 기본적인 컴퓨터 과학에 대한 이해도를 향상시키기 위한것이다


자 그럼 생각해보자

우리는 컴퓨터 과학에 대해서 왜 이해도를 향상시켜야 하는가?


왜 이책은 컴퓨터과학에 대한 이해도를 언급하고 있을까?

나도 학생개발자로서 한가지 착각을 한게 있다


현재 세종대학교 컴퓨터공학과에 다니면서

컴퓨터구조론, 알고리즘, 자료구조(데이터구조), 운영체제, 데이터베이스 등

과목들을 전부 들으면서

나중에 어디다가 쓰겠어 라는 생각을 많이 했다

심지어는 이 생각이 금방 고쳐진게 아니라

프로젝트를 경험하면서 점점 굳어져갔다


왜냐고?


내가 조심스럽게 생각했을때는

구글 때문이다

물론 구글이 잘못한건 하나도 없지만

요즘에는 구글이 없으면 개발이 힘들정도로 구글에 모든것이 나와있다

아니 인터넷에 담겨있다 라는 표현이 맞을수도 있겠다


나는 프로젝트를 처음하면서 안드로이드를 책으로배운게 아니라 구글로 배웠다

잘못되도 한참 잘못되고 절대 해서는 안될짓이다

물론 급하면 똥이고 된장이고 구별할 시간이 있겠는가

하고 나서도 이 방향이 잘못됬다는 것을 알면 된다

나는 그것을 몰랐을 뿐이다


요즘에는 자료구조를 몰라도

자료구조를 쓸 수 있고, 썼다고 말할 수 있고

운영체제를 몰라도

애플리케이션을 만들고 작동되는데 문제가 없다


그런데 요즘 직접 실감을 한다

컴퓨터과학은 중요하단것


1장에서 언급했듯이

면접관마다 스타일이 다르고

각자만의 개발언어나 경험 지식 배경 이런것들이 모두 다를텐데

지원자한테 자신이 알고있는 기술을 물어보겠는가?

심지어 주로 사용하는 언어도 다 다를텐데?


그러면 개발자로서 당연히 알아야하고 기반이 되는것은 무엇일까?


바로

컴퓨터 과학이다





3. 면접은 어렵습니다




네. 면접은 어렵습니다.


그러면 이렇게 생각해보자

면접을 봐서 합격하려면 어떻게 하면 될까?


'다른 지원자보다 나은 답변'을 하면 된다


우리는 개발자니까

코딩 면접을 볼 기회가 당연히 있을것이다

이러한 코딩 관련 면접 문제들을 공략하려면

'실제' 문제에 대비해야 한다


'실제'문제를 놓고 연습하고, 그 패턴을 배워야 한다


해당 코딩인터뷰 완전분석의 책은

최고 IT업체에서 면접관으로 일한 경험을 망라한 결과물이며

수 백명의 지원자와 대화를 나눈 결과물이며

수많은 회사들의 면접 문제를 살펴본 결과이다


수천개의 출제 가능 문제들 가운데

가장 좋은 150개의 문제를 엄선한 책이다


여담으로


면접을 준비하면서

항상 긴장되고

또 하기싫을수도 있고

탈락에 대한 부담감도 있을것이고

자신감또한 결여될 수도 있다


그러나

평범한 일상속에서 이렇게 긴장할 수 있고

또 나에 대해 생각해볼 수 있는 시간이 될 수 있고

합격해서 기쁨을 느낄수도 있고

자신감 또한 넘칠 수 있는


양면성을 가진 기회라고 생각한다


이런 기회에 대해서

자신이 어떻게 잘 받아들이는가

또한 1장에 언급했던 것 처럼

나의 자세를 바꿔가는 기회가 된다면


'도전적이고 진취적인 자세로 문제를 대하는것'

'도전적이고 진취적인 자세로 삶을 대하는것'

'도전적이고 진취적인 자세로 나를 대하는 것'



Comments