14
코딩 인터뷰 티끌 가이드

RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

Embed Size (px)

Citation preview

Page 1: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

코딩 인터뷰 티끌 가이드

Page 2: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

Agenda이력서 클리닉

환경/들어가기 전에

문제 풀이 및 데모

마무리

Q&A

Page 3: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

이력서 예제Skills

● Language

○ Java, C/C++, Shell Script, JavaScript, Python,

Ruby, Perl, ASP.net, C#

● Server side programming skills

○ Spring, JavaEE6, RoR, Node.js, .net F/W

● Client side programming skills

○ JSF, JQuery, ReactJS, AngularJS

Project

● Task management system development

○ Work with a team of 5 on an Redmine

plugin.

○ Filed papers and did office

administrative work.

● I am regularly called in to save projects

where others have failed

출전 How to Write a Killer Resume (for Software Engineers) http://niniane.org/resume_howto.html

Page 4: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

멋진 이력서 작성을 위한 조언● 이력서는 리크루터/면접관과의 커뮤니케이션을 위한 도구

○ 읽는 사람의 입장을 고려하여 작성

● 이력서에는 두 종류가 있음○ 게시용

○ 제출용

● 이력서가 당락을 결정하지는 않는다. 하지만!

○ 서류전형 통과를 못하면 면접의 기회가 없음

○ 리크루터와 면접관에게 나에 대한 기본 이미지를 형성

● 거짓말을 하지 않을것

Page 5: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

제출용 이력서의 작성 포인트● 지원 포지션과 지원하는 회사에 맞추어 이력서 내용을 꾸밀것

○ 성의없이 작성한 이력서는 금방 티가남

○ 회사 보다는 지원하는 포지션에서 요구하는 능력에 초점을 맞출것

● 두 장을 넘기지 말 것(한 장이 베스트)

● 최소한 본인이 작성한 내용은 숙지할것

Page 6: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

인터뷰 환경전화 인터뷰/화상 인터뷰 - 스크리닝인 경우가 많음.

현장 인터뷰

시간: 45분 ~ 1시간

코딩 환경: 화이트보드, 문서 공유 도구 (구글 독스, 오피스365 등), 전용 온라인

서비스

인터뷰 환경에 대해서는 리쿠르터에게 물어봐서 미리 숙지하고 연습 해 보고 들어갈

것.

Page 7: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

문제

Given a string s and a dictionary of words dict, determine if s can be segmented into a

space-separated sequence of one or more dictionary words.

For example, given s = "leetcode", dict = ["leet", "code"]

Return true because "leetcode" can be segmented as "leet code".

출전 https://www.careercup.com/question?id=5101591666360320

Page 8: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

문제에 대한 질문명확하지 않은 부분들 (용어의 정의 및 설명, 경계)

자료의 대체적인 크기 (문자열 길이, 사전의 크기) - 기계적인 질문보다는 트레이드

오프를 염두에 둔 질문

시간 복잡도와 공간 복잡도에 대한 제약

Preprocess의 존재 여부

그러나 너무 물고늘어지면서 시간을 쓰지 않도록 주의한다.

Page 9: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

언어 숙련도기본적인 문법을 숙지

IDE의 도움을 받지 못하는것을 산정

표준 라이브러리의 API 숙지

언어별 네이밍 표준 준수

화이트보드에 쓸 때는 함수를 더 잘게 나누면 도움이 되는 경우가 많음.

Page 10: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

커뮤니케이션

의식의 흐름을 말로 설명할 것. (막혔더라도..)

겸손할 것.

개기지 말 것.(면접관은 당신의 적이 아님)

Page 11: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

디테일

반복문 조건이 맞지 않거나 제어변수 변화가 없을 때 (무한 루프 등)

인덱스 틀릴 때 (+1, -1)

리턴을 안 할 때

이름을 좋지 않게 지을 때 (work, func)

적절치 못한 데이터 타입 사용

Page 12: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

알고리즘 분석시간/공간 복잡도

기초적인 자료구조 연산에 대한 복잡도를 숙지해 갈 것 + 반복문등의 구조를 보고

복잡도를 빠르게 추측할 것.

성능 높은 알고리즘이 떨오르지 않으면 낮은 알고리즘이라도 구현하고 성능 향상을

도모해 볼 것.

큰 문제를 작은 문제로 쪼개려고 노력해 볼 것.

Page 13: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

마무리

준비하려면 무엇이 필요한 것일까?

실전처럼 연습을 해 보아야 한다. 스터디 그룹, 웹사이트

리크루터에게 물어볼 것! (리크루터는 우리 편, 이런 걸 물어보면 부정적으로

평가하지 않을까 걱정은 기우)

인생을 걸 수 있는 시험 중 하나인데, 대입 시험보다 훨씬 범위도 좁지만 인생에 큰

영향을 끼칠 수 있음.

Page 14: RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글, 염재현 소프트웨어 엔지니어

Q&A