이번 장에서는 유튜브 시스템을 설계하는 면접 문제를 풀어볼 것이다. 이 문제에 대한 답은 넷플릭스나 훌루 같은 비디오 플랫폼을 설계하는 문제에도 적용 가능하다. 유튜브 시스템은 언뜻 보기에는 간단하다. 콘텐츠 창작자가 비디오를 올리고, 시청자는 재생 버튼을 누른다. 그런데 정말 그렇게 간단한가? 실제로는 그렇지 않다. 이 단순성 이면에는 엄청나게 복잡한 수많은 기술이 숨어 있다. 유튜브에 대한 놀라운 통계자료 몇 가지를 살펴보자. 20202년에 조사된 결과다. - 월간 능동 사용자 수: 2십억 - 매일 재생되는 비디오 수: 5십억 - 미국 성인 가운데 73%가 유튜브 이용 - 5천만 명의 창작자 - 유튜브의 광고 수입은 2019년 기준으로 150억 달러이며 이는 2018년도 대비 36% 증가한 수치 - ..
이번 장에서는 채팅 시스템을 설계해 볼 것이다. 채팅 시스템 하나쯤 사용하지 않는 사람은 드물다. 채팅 앱이라고 했을 때 사람들이 떠올리는 것은 제각가이다. 그러니 요구사항을 확실하게 해 두는 것이 아주 중요하다. 예를 들어 면접관이 생각하고 있는게 일대일 채팅 앱일 때 그룹 채팅 앱을 설계하면 곤란할 것이다. 기능 요구 사항을 확실히 알아두도록 하자. 1 문제 이해 및 설계 범위 확정 어떤 채팅 앱을 설계하려는지 확실히 해 두는 것이 면접에서 가장 중요하다. 현재 시장에 나와 있는 앱들을 보면 페이스북, 메신저, 위챗(WeChat), 왓츠앱(WhatsApp)처럼 1:1 채팅에 집중하느 앱들이 있는가 하면 슬랙(Slack) 같은 그룹 채팅에 중점을 둔 업무용 앱이나, 게임 채팅에 쓰이는 디스코드(Disc..
알림 시스템은 최근 많은은 프로그램이 최택한 인기있는 기능이다. 이 기능을 갖춘 애플리케이션은 최신 뉴스, 제품 업데이트, 이벤트, 선물 등 고객에게 중요할 만한 정보를 비동기적으로 제공한다. 이 기능은 이미 우리 일상생활의 중요한 부분으로 자리 잡았다. 알림 시스템은 단순히 모바일 푸시알림에 한정되지 않고, 모바일 푸시알림, SMS 메시지, 이메일의 세 가지로 분류할 수 있다. 1 문제 이해 및 설계 범위 확정 하루에 백만 건 이상의 알림을 처리하는 확장성 높은 시스템을 구축하는 게 쉬운 과제는 아니다. 알림 시스템이 어떻게 구현되는지에 대한 깊은 이해가 필요한 작업이다. 이에 관한 문제가 면접에 출제 될 때는 보통 정해진 정답이 없고 문제 자체가 모하하게 주어지는 것이 일반적이므로, 적절한 질문을 통..
- Total
- Today
- Yesterday
- 대규모 시스템 설계 기초
- Propositional and Predicate Logic
- Simulation
- 항해99
- Grafana
- 데이터 중심 애플리케이션 설계
- Discrete Mathematics
- 아레나
- 자바스크립트 예제
- rosen
- arena simulation
- paul wilton
- beginning javascript
- 시뮬레이션
- grafana cloud
- 아레나시뮬레이션
- 엄청난 인내심과 시뮬레이션을 위한 아레나 툴
- 그라파나
- 로젠
- javascript
- flutter
- 아레나 시뮬레이션
- 백준
- Arena
- 자바스크립트
- 이산 수학
- 이산수학
- 최단경로 알고리즘
- 명제논리
- 가상 면접 사례로 배우는 대규모 시스템 설계 기초
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |