RTFM, 나는프로그래머다 Meetup 2016 - 코딩인터뷰 준비 티끌 가이드/ 구글,...

Preview:

Citation preview

코딩 인터뷰 티끌 가이드

Agenda이력서 클리닉

환경/들어가기 전에

문제 풀이 및 데모

마무리

Q&A

이력서 예제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

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

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

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

○ 제출용

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

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

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

● 거짓말을 하지 않을것

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

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

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

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

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

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

현장 인터뷰

시간: 45분 ~ 1시간

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

서비스

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

것.

문제

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

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

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

오프를 염두에 둔 질문

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

Preprocess의 존재 여부

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

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

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

표준 라이브러리의 API 숙지

언어별 네이밍 표준 준수

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

커뮤니케이션

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

겸손할 것.

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

디테일

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

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

리턴을 안 할 때

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

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

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

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

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

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

도모해 볼 것.

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

마무리

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

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

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

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

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

영향을 끼칠 수 있음.

Q&A