-
-
실리콘밸리에서 통하는 파이썬 인터뷰 가이드 - 취업과 이직을 위한 자료구조, 알고리즘, 시스템 설계 코딩 테스트 문제와 해법
런젠펑.취안수쉐 지음, 신준기 옮김 / 제이펍 / 2025년 5월
평점 :

파이썬을 처음 시작할 때는
print('Hello World') 로도 신기했다
코딩이 이렇게 쉽다니 감탄하며 공부를 이어갔지만
역시나 코딩은 어려운 것이었다
요즘같이 인공지능에게 말만 하면 코딩을 다 해주는 시대가 됐는데
왜 코딩을 공부해야 한다고 묻는다면
테슬라를 예로 들자면
테슬라는 자동차를 로봇으로 자동화해서 일하는 직원이 많지 않다
그렇다고 일하는 직원을 0명으로 만들 수 있을까?
그럴 수는 없다고 생각한다
기계 어딘가에서 오류가 발생할 수 있으며 기계가 잡아내지 못하는 오류를
이해하고 수정할 수 있는 사람이 필요하다
코딩도 마찬가지다
인공지능 수많은 앱들이 있어도 완벽하진 않다
그러므로 문제를 정의하고 해결하는 건 결국 사람이 해야 한다
그래서 코딩 공부를 해야 한다
오늘은 파이썬 코딩 공부를 위해 공부하면 좋을 책을 가져왔다
제이펍에서 출시한 실리콘밸리에서 통하는 파이썬 인터뷰 가이드이다
파이썬 코딩으로는 yes24 기준으로는 인기순위 2위를 기록할 정도로 인기 있는 책이다
목차는 다음과 같다
이 책의 저자들은 구글에서 면접관이나 소프트웨어 엔지니어로 활동하고 있는 런젠펑, 컴퓨터 비전 관련 미국 OPPO 연구소의 수석 연구 책임자 취안수쉐가 함께 쓴 책으로
실리콘밸리에서 일하고 싶은 개발자에게 면접 과정은 어떻게 진행되는지
일반 전화 인터뷰, 기술 전화 인터뷰, 현장 면접 과정에 대해 설명하고
바로 코딩 테스트에 필요한 내용들에 대해 넘어간다
PART 2 데이터 구조를 시작으로
PART 4 시스템 설계까지 코딩 문제를 푸는데
코딩 문제만 푸는 게 아닌
각 챕터별 기본 지식을 알려주고 코딩 문제를 푼다
리스트를 예로 들면
리스트의 기본 지식에 대해 설명하고
예제 문제를 푼다
예제 1: 가장 많이 연속되는 1의 개수 구하기
주어진 이진수 배열에서 가장 많이 연속되는 1의 개수를 구하라
예를 들면 다음과 같다
입력 : [1, 1, 0, 1, 1, 1]
출력 : 3
참고 : 처음 두 개 원소와 마지막 세 개가 연속된 1이므로, 이 경우 연속된 1의 가장 긴 개수는 3이 된다
풀이 : 1의 수를 세는 변수를 설정하고, 루프문을 통해 배열의 현재 값이 1이면 변수에 1을 더하고, 그렇지 않으면 0으로 초기화한다
class Solution(object):
def findMaxConsecutiveOnes(self, nums):
max_ones = 0
ones = 0
for i in range(len(nums)):
if nums[i] == 1:
ones += 1
else:
# 0으로 초기화한다.
max_ones = max(max_ones, ones)
ones = 0
return max(max_ones, ones)
복잡도 분석 : 시간 복잡도는 O(n)이다
리트코드 458번 문제 https://leetcode.com/problems/max-consecutive-ones/description/
다른 문제를 보여주자면
딕셔너리 문제다
이렇게 예제 문제와 문제를 풀 때 참고사항 그리고 풀이까지 친절하게 설명해 주고 리트코드의 몇 번 문제인지까지 알려주기 때문에
공부하는데 굉장히 편했다
이렇게 Part 2 데이터구조에서 리스트, 스택, 큐, 우선순위 큐, 딕셔너리, 세트, 연결 리스트, 이진 트리, 기타 트리 구조, 그래프를 공부하고
Part 3 알고리즘에서는 이진 탐색, 이중 포인터 알고리즘, 동적 프로그래밍, 깊이 우선 탐색, 역추적, 너비 우선 탐색, 유니언 파인드, 데이터 구조와 알고리즘 인터뷰 실전에 대해서 공부한다
마지막 Part 4에서는 시스템 설계로
시스템 설계 이론, 시스템 설계 실습, 멀티스레드 프로그래밍, 머신러닝 시스템 설계에 대해서 공부하는데
시스템 설계 실습에서는 X(트위터) 애플리케이션, 우버/리프트 앱 설계를 보며 어떤 방식으로 설계했는지 알 수 있어서 좋았다
Chater 23부터는 머신러닝 시스템 설계로
머신러닝에 대한 기본 지식에 대해 공부하고
넷플릭스 추천 시스템 문제도 풀 수 있었다
이 책의 구성은 정말 간단하다
1. 기본 이론 설명
2. 문제 & 풀이
두 가지 구성으로 돼있다
공부하면서 코딩을 모두 타이핑 하는 게 가장 좋은 공부지만
아직 영타를 다 못 외웠거나 코딩 타이핑을 못 할 상황이 있을 수도 있다면
예제 코드까지 제공하기 때문에 걱정할 필요 없다
책의 난이도는 솔직히 파이썬 초보자에게는 어려울 것 같고
이직을 준비하는 중급 이상에게 적합할 것 같다
실리콘밸리를 꿈으로 하는 사람에게는 이 책이 딱이지만
난 한국에서 개발자 할 건데 이 책이 필요할까?라고 생각한다면
당연히 이 책이 중요하다
세계적인 기업인 구글에서 일하는 면접관이 중요하다고 집어 준 문제들이
우리나라 기업들에 중요하지 않을까?
나는 그렇지 않다고 본다
기본은 어디나 중요하다
단지 내가 일하는 장소만 다를 뿐
이 책은 자신의 파이썬 코딩 실력을 늘릴 사람
이직을 준비하는 사람
코딩을 하는 대학원을 준비하는 사람
들에게 추천한다
제이펍이 아니었다면 실리콘밸리 면접관이 내는 책을 보지 못할 뻔했다
앞으로도 제이펍이 다양한 서적을 출간해서
국내 독자들을 기쁘게 해주면 좋겠다
여러분의 미래를 응원하며 서평을 마친다
본 서평은 제이펍에서 서적만 제공받은 자유로운 형식의 서평입니다