일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코딩규칙
- 개발회고
- 웹스크래핑
- vueJS
- 투두리스트
- 자기개발
- google style guide
- MariaDB
- CSS애니메이션
- 프레임워크
- vue-cli
- vuejs입문
- 코딩컨밴션
- 구글CSS
- 구글스타일가이드
- python
- 로딩UI
- @keyframes
- css rule
- to do list
- Vue.js
- 뉴스수집
- javascript
- 스타일가이드
- css규칙
- 파이썬
- html제거
- 자바스크립트
- CSS로딩
- 코딩가이드
- Today
- Total
코드공부방
가상 면접 사례로 배우는 대규모시스템 설계 기초 본문
(책 제목부터 가슴이 웅장해진다.)
면접을 준비하려는 의도는 아니었지만 전산개발 프로젝트를 좀 더 이해해보고자 선택한 책이다. 처음에는 서버, 데이터베이스, 계층, 큐, CDN, 로그, 네트워크 등 이론적인 부분을 나름 쉽게 설명하였고, 책 중반부를 넘어가면 URL단축기, 웹 크롤러, 알림 시스템, 뉴스 피드 시스템, 채팅, 유튜브, 구글 드라이브, 검색어 자동완성 등의 시스템 설계하는 방법을 설명해준다. (흥미롭지 않은가?)
그리고 각 설계의 시작은 아래와 같이 가상면접을 보는 것처럼 시작한다. (웹 크롤러 설계의 가상면접 내용이다.)
지원자 : 이 크롤러의 주 용도는 무엇인가요? 검색엔진 인덱스 생성용인가요? 아니면 데이터 마이닝? 아니면 그 외 용도인가요?
면접관 : 검색엔진 인덱싱에 쓰일 것입니다.
지원자 : 매달 얼마나 많은 웹페이지를 수집해야하나요?
면접관 : 매달 10억개의 웹페이지를 수집해야합니다.
지원자 : 수집한 웹페이지는 저장해야하나요? 맞다면 얼마나 저장해야하나요?
면접관 : 네, 저장해야하며 5년간 저장해야합니다.
...
위처럼 가상면접을 통해 재미와 이해를 쉽게 할 수 있게 하였고, 이어서 대략적 설계 > 상세 설계 > 문제발생 > 문제해결 > 시스템 시나리오 > 마무리(추가 가상면접 질문) 순으로 시스템 설계를 설명한다. 예제의 시스템들이 대부분 거의 매일 사용중인 시스템이다보니 흥미로웠으나 내용이 내용인지라 깊게 들어가는 부분에서는 이해하기 힘든 부분도 없지않았다. (현직 개발자라면 이해가 쉬울테니 더 재미있게 볼 수 있을만한 책으로 생각된다.)
'자기개발 > 독서반' 카테고리의 다른 글
쉽게 시작하는 타입스크립트 (0) | 2023.10.07 |
---|---|
모두의 데이터분석 with파이썬 (0) | 2023.10.06 |
처음 리더가 된 당신에게 (0) | 2023.10.04 |
프레임 : 나를 바꾸는 심리학의 지혜 (0) | 2023.06.02 |
데이터로 말해요! : 데이터 중심의 사고, 기획, 보고의 기술 (0) | 2023.05.23 |