목적: 면접에서 '규모 확장성 있는 시스템'을 설계할 수 있는 적용 전략을 제시하는 것\-> 즉, "규모가 커졌을 때 시스템을 어떻게 확장하고 안정적으로 유지할 것인가"를 이해하는 것이 핵심모든 컴포넌트가 한 서버에 몰려 있는 구조로 시작하자.웹 애플리케이션, 데이터베
면접에서는 설계뿐 아니라 “어느 정도의 자원이 필요할지”를 가늠하는 감각이 중요하다.이를 ‘규모 추정(Capacity Estimation)’이라 한다.메모리 접근은 빠르지만 디스크 I/O는 여전히 느림디스크 탐색은 반드시 피할 것네트워크 전송 전엔 가능한 한 압축데이터
시스템 설계 면접: 두 명의 동료가 모호한 문제를 풀기 위해 협력하여 그 해결책을 찾아내는 과정에 대한 시뮬레이션답부터 찾으려고 하지 마라깊이 생각하고 질문하여 요구사항과 가정들을 분명하게 하라요구사항을 이해할 때 필요한 질문은 어떤 것일까?구체적으로 어떤 기능들을 만

처리율 제한 장치(rate limiter)?네트워크 시스템에서 클라이언트 or 서비스가 보내는 트래픽의 처리율(rate)를 제어하기 위한 장치ex) HTTP \- 특정 기간 내에 전송되는 클아이언트의 요청 횟수를 제한API 요청 횟수가 제한 장치에 정의된 임계치(th

추후 노션 글 다시 정리
분산 시스템에서 유일성이 보장되는 ID 만드는 선택지다중 마스터 복제UUID티켓 서버트위터 스노플레이크 접근법데이터베이스의 auto_increment 기능을 활용하는 접근법다음 ID의 값을 구할 때 +1 증가가 아니라 +k(현재 사용 중인 데이터베이스 서버의 수) 증가
서론tinyurl 같은 URL 단축기를 설계하는 문제에 대해 알아보자설계해야 할 시스템의 기본적 기능1\. URL 단축: 주어진 긴 URL을 훨씬 짧게 줄임2\. URL 리디렉션(redirection): 축약된 URL로 HTTP 요청이 오면 원래 URL로 안내3\. 높

웹 크롤러로봇(robot), 스파이더(spider)라고도 부름검색 엔진에 널리 쓰이는 기술로 웹에 새로 올라오거나 갱생된 콘텐츠를 찾아내는 것이 목적몇 개의 웹 페이지에서 시작하여 그 링크를 따라 나가면서 새로운 콘텐츠를 수집함 몇 개의 웹 페이지에서 시작하여 그 링크

서론알림 시스템 설계모바일 푸시 알림, sms 메시지, 이메일 ios 푸시 알림, 안드로이드 푸시 알림, sms 메시지, 이메일 ㅣㅈ원하는 알림 시스템의 개략적 설계안알림 유형별 지원 방안연락처 정보 수집 절차알림 전송 및 수신 절차ios에서 푸시 알림을 보내기 위해서

서론뉴스 피드: 홈 페이지 중앙에 지속적으로 업데이트되는 스토리들Ex) 페이스북 뉴스 피드 설계, 인스타그램 피드 설계, 트위터 타임라인 설계설계안(1) 피드 발행(feed publishing): 사용자가 스토리를 포스팅하면 해당 데이터를 캐시와 데이터베이스에 기록,

1단계 문제 이해 및 설계 범위 확정 응답지연이 낮은 일대일 채팅 기능 최대 100명까지 참여할 수 있는 그룹 채팅 기능 사용자의 접속상태 표시 기능 다양한 단말 지원, 하나의 계정으로 여러 단말 동시 접속 지원 푸시 알림 5천만 DAU 처리 가능 2단계 개략적 설계