[개발자매일영어] How Companies Evaluate Technical Interviews - Cracking Coding Interview

in #kr6 years ago (edited)

이번에는 How Companies Evaluate Technical Interviews에 대한 내용 입니다.
코딩 인터뷰 문제도 한문제씩 같이 풀어보도록 하겠습니다. 제일 아래에 기출문제가 있습니다. 같이 풀어봐요!

영어 공부는 왕도는 없습니다. 매일 꾸준히 듣고 말하기 연습 하는 것이 가장 중요합니다.

개발자매일영어는 당분간은 Cracking Coding Interview의 저자로 유명한 Gayle Laakmann McDowell저자의 강좌를 지속적으로 공부해보도록 하겠습니다.
전체 분량은 너무 길어서 주요부분 한 두 군데만 1분 이하로 발췌하여 mp3파일로 만들고 있습니다.
즉 한 주제당 1분 이하 분량의 mp3파일이 한 두개씩 제공되겠습니다. 나머지 부분은 리스닝 연습 하시면 되겠습니다.
이번에는 따라하기 쉽도록 최대한 짧게 잘랐습니다.

공부하는 3단계 방법은 아래와 같습니다.

1분 분량을 번역
전체 듣기 두번
문장 듣고 따라 말하기 두번
한국말로 듣고 영어로 말하기
하루에 한시간 이상 들으면서 말하기 연습하면 좋을 것 같습니다.
연습 mp3 파일 다운로드: https://drive.google.com/open?id=1EeYb9sFde6YdoFLI7_x16FetwLSNIBGN
원본 동영상:

--- mp3 script & 번역 예 ---
Some tips for preparation here. First thing is actually practice this. Lock yourself in a room alone or better yet actually with somebody else in the room. Even if its somebody who has no idea about coding or anything like that and just get comfortable talking out loud and exposing your thought process.
The second thing is in the preparation as well as in the actual interview whenever you notice yourself being quiet try to take a step back and at least give me the headline of your thought process. So you might tell me something like what I'm thinking about right now is how to optimize this piece. What I'm thinking about right now is you know I feel there's some way of using the fact the data is sorted. So try to give me at least the headline of your thought process even if you can't give me anything else.
And then the third thing is, you know, try to give me what you can it's fantastic of course if you can give, you know, this really clear articulate description of your thought process but even if all you can do is mumbling it is so much better to mumble than to say nothing at all.

인터뷰 준비를 위한 팁들을 보면, 첫번째로, 방안에 혼자 또는 다른 사람과 같이 있는 것이 더 좋습니다. 그 사람이 코딩을 몰라도 됩니다 그냥 편안히 큰 목소리로 생각하고 있는 것을 얘기하는 것을 연습하는 것입니다.
두번째로 연습 뿐만 아니라 실제 인터뷰 시에도 자신이 조용하게 생각하고 있을때 마다 최소한 뭘 생각하고 있는지 대략이라도 얘기해야합니다. 예를들어 지금 이것을 어떻게 최적화 할 수 있을 지 생각하고 있다고 말할 수도 있습니다. 또는 데이터가 정렬되었다는 사실을 이용할 방법들을 생각하고 있다고 얘기 할 수도 있습니다. 당장 어떤 것을 줄 수 없어도 뭘 생각하고 있는지 대략이라도 얘기 하도록 합시다.
세번째로 당신이 할 수 있는 것을 분명하게 정리해서 얘기 하면 멋질 것이지만 적어도 아무말도 안하는 것 보다는 뭐라고 중얼거리는게 좋습니다.

----- 이주의 Interview Question (같이 풀어 봐요!) -----
Top K Frequent Elements

Given a non-empty array of integers, return the k most frequent elements.

Example 1:

Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]
Example 2:

Input: nums = [1], k = 1
Output: [1]
Note:

You may assume k is always valid, 1 ≤ k ≤ number of unique elements.
Your algorithm's time complexity must be better than O(n log n), where n is the array's size.

문제 원본: https://leetcode.com/problems/top-k-frequent-elements/description/