Top 7 Coding Interview Concepts (Data Structures & Algorithms)

How to prepare for the coding interview

  • 코딩 인터뷰는 연관된 개념들을 묶어서 효율적으로 준비한다.
  • 문제의 정답 보다 문제의 패턴에 집중한다.
  • 인터뷰어가 체크하려고 하는 사항을 파악하고 대응한다.
  • You should confirm with your interviewer about the scope and those edge cases.

문제에 접근하는 방법

  • 문제를 명확히 이해하고 푸는 방법을 제시할 수 있는가?
  • 엣지 케이스를 생각하고 테스트도 정확하게 할 수 있는가?
  • 이 때 커뮤케이션은 잘 하는가?
  • 최선의 솔루션을 도출해 낼 수 있는가?
  • 생각한 솔루션을 얼마나 빨리 클린 코드로 작성하는가?

Edge Case

An edge case is a problem or situation that occurs only at an extreme (maximum or minimum) operating parameter.
For example, a stereo speaker might noticeably distort audio when played at maximum volume, even in the absence of any other extreme setting or condition.
An edge case can be expected or unexpected.

Complexity

  • Big-O Notation: O(n)
    • Time Complexity
    • Space Complexity
  • O(1) > O(log n) > O(n) > O(n log n) > O(n^2) > O(2^n) > O(n!) Big-O Complexity Chart

Tips

  • Try to communicate as much as you can.
  • Be sure that you and interviewer are on the same page.
  • Think out loud.
  • DO NOT TRY TO SOLVE PROBLEM WITHOUT INITIAL ANALISYS (even if problem seems easy)
  • Use helper functions if possible (breaks down code)
  • Debug your solution on the way using your examples
  • Check your code (typos/possible bugs/compile bugs) before “submitting”
  • Do not panic if you are failing to find a solution, it is ok to get hints, when interviewer steps up focus on them and listen carefully

ETC

  • https://www.youtube.com/watch?v=xF554Tlzo-c&t=1s
  • https://leetcode.com/problem-list/top-interview-questions/?page=1





© 2017. by yeopoong.github.io

Powered by yeopoong