새소식

🎒 학교

Google 개발자 특강

  • -
728x90

1일차

Code Refactoring; 코드 수정

 

2일차

Code Interview; (모의) 코드 인터뷰

Pramp로 Code Interview

내 차례

Q. Write a function that returns all permutations of a given list.

permutations([1, 2, 3])
[1, 2, 3]
[1, 3, 2]
[2, 1, 3]
[2, 3, 1]
[3, 1, 2]
[3, 2, 1]

를 푸는 문제였다.

당장 생각이 안 나 생각나는 대로 풀다보니 복잡도가 n*n^2 으로 좋지 못했다.

(아무리 간만에 하는 알고리즘이래도 난 진짜 아는 게 없구나. 이거 하나 못 풀다니 다시 처음부터 공부해야될 듯)

inputs = [1, 2, 3]
used = [False] * len(inputs)

def permutations(arr, n=0):
  if n == len(inputs):
    print(arr)
    return
  for i in range(len(inputs)):
    if not used[i]:
      used[i] = True
      arr.append(inputs[i])
      permutations(arr, n+1)
      arr.pop()
      used[i] = False

permutations([])

comment:

- 실제 코드 인터뷰에서는 인터뷰어가 실제 변수명을 직접 언급하지는 않는다. 힌트를 줄 때, 뭉뚱그려서 알려준다.

- 사람들이랑 얘기해보면서 코딩하기 연습을 많이 해봐라.

 

 

 

 

내가 궁금했던 질문

1. 코딩인터뷰할 때 라이브러리도 사용 가능한가요?

큐, 리스트, 스택 등의 기본적인 라이브러리는 사용 가능하다

sorting 라이브러리를 많이 사용하게 되는 데, insertion, bubble, heap, priority queue, quick, merge sort 등 유명한 정렬은 코딩할 수 있어야 어느 정도 레벨의 코딩 인터뷰에서 도움이 될 것이다. 연습은 하되 인터뷰에서 굳이 다 구현할 필요는 없다.

예를 들어, quick sort의 partition, heap 에서 priority queue로 넘어가는 경우, merge sort의 메모리에 노드가 다 들어가지 않을 경우 등의 개념들을 많이 이해하는 것이 현업과 인터뷰 둘 다에서 도움이 될 것이다.

 

학생 comment: 라이브러리를 사용한다면 그 원리를 제대로 이해하고 있는지 확인을 할 것 같습니다.

 

 

3일차

(나중에 옮겨적어야지...)

 

 

그냥 구글이래서 들었는데, 생각보다 알차고 얻은 게 많은 특강이었던 것 같다.

코드 인터뷰도 말로만 들었지 실제로 해볼 경험이 없었는 데, 연습할 수 있는 플랫폼과 모의였지만 실제로 해볼 기회도 있었고, 조교님의 코멘트로 어떤 식으로 코드 인터뷰를 준비해야할 지 등을 배울 수 있었다.

728x90

'🎒 학교' 카테고리의 다른 글

[교내 대회] 2021 CNU 창의SW축전  (0) 2021.11.27
[콜라톤] 최종발표회 후기  (0) 2021.11.20
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.