코드공부방

가상 면접 사례로 배우는 대규모시스템 설계 기초 본문

자기개발/독서반

가상 면접 사례로 배우는 대규모시스템 설계 기초

:- ) 2023. 10. 5. 07:34
반응형

가상 면접 사례로 배우는 대규모시스템 설계 기초

(책 제목부터 가슴이 웅장해진다.)

면접을 준비하려는 의도는 아니었지만 전산개발 프로젝트를 좀 더 이해해보고자 선택한 책이다. 처음에는 서버, 데이터베이스, 계층, 큐, CDN, 로그, 네트워크 등 이론적인 부분을 나름 쉽게 설명하였고, 책 중반부를 넘어가면 URL단축기, 웹 크롤러, 알림 시스템, 뉴스 피드 시스템, 채팅, 유튜브, 구글 드라이브, 검색어 자동완성 등의 시스템 설계하는 방법을 설명해준다. (흥미롭지 않은가?)

그리고 각 설계의 시작은 아래와 같이 가상면접을 보는 것처럼 시작한다. (웹 크롤러 설계의 가상면접 내용이다.)


지원자 : 이 크롤러의 주 용도는 무엇인가요? 검색엔진 인덱스 생성용인가요? 아니면 데이터 마이닝? 아니면 그 외 용도인가요?

면접관 : 검색엔진 인덱싱에 쓰일 것입니다.

지원자 : 매달 얼마나 많은 웹페이지를 수집해야하나요?

면접관 : 매달 10억개의 웹페이지를 수집해야합니다.

지원자 : 수집한 웹페이지는 저장해야하나요? 맞다면 얼마나 저장해야하나요?

면접관 : 네, 저장해야하며 5년간 저장해야합니다.

...


위처럼 가상면접을 통해 재미와 이해를 쉽게 할 수 있게 하였고, 이어서 대략적 설계 > 상세 설계 > 문제발생 > 문제해결 > 시스템 시나리오 > 마무리(추가 가상면접 질문) 순으로 시스템 설계를 설명한다. 예제의 시스템들이 대부분 거의 매일 사용중인 시스템이다보니 흥미로웠으나 내용이 내용인지라 깊게 들어가는 부분에서는 이해하기 힘든 부분도 없지않았다. (현직 개발자라면 이해가 쉬울테니 더 재미있게 볼 수 있을만한 책으로 생각된다.)

반응형
Comments