2024/07/07 3

3장. 시스템 설계 면접 공략법

시스템 설계 면접에서 "널리 알려진 제품 X를 설계해 보라"는 문제가 나온다. 이는 수천 명의 엔지니어들이 참여하여 개발한 제품을 한 시간 안에 설계할 수 없다.즉, 정말로 설계하라는 것이 아니라 모호한 문제를 풀기 위해 협력하여 해결책을 찾아내는 과정에 대한 시뮬레이션이다. 설계 기술을 시연하는 자리이고, 설계 과정에서 내린 결정들에 대한 방어 능력을 보이는 자리이다. 효과적 면접을 위한 4단계 접근법 1단계 문제 이해 및 설계 범위 확정 답부터 들이밀지 말고, 깊이 생각하며 질문하여 요구사항과 가정들을 분명히 해라. 면접관이 질문을 던지면 질문에 대한 답을 바로 내놓거나, 아니면 스스로 어떤 가정도록 주문할 것이다. 요구사항을 정확히 이해하는데 필요한 질문을 아래와 같이 하자. 구체적으로 어떤 기능을..

2장. 개략적인 규모 측정

시스템 설계 면접을 볼 때, 시스템 용량이나 성능 요구사항을 개략적으로 추정해 보라는 요구를 받게 된다. 구글의 시니어 펠로 제프 딘에 따르면 "개략적인 규모 추정은 보편적으로 통용되는 성능 수치상에서 사고 실험을 행하여 추정치를 계산하는 행위로서, 어떤 설계가 요구사항에 부합할 것인지 보기 위한 것"이다. 개략적 규모 추정을 하려면 규모 확장성을 표현하는데 필요한 기본기가 능숙해야 한다.2의 제곱수나 응답지연(latency) 값, 그리고 가용성에 관련된 수치. 2의 제곱수제대로된 계산 결과를 얻으려면 데이터 볼륨의 단위를 2의 제곱수로 표현하면 어떻게 되는지 알아야 한다. 최소 단위는 1바이트이고, 8비트로 구성된다.아스키 문자 하나가 차지하는 메모리 크기가 1바이트이다. 2의 x 제곱근사치이름축약형1..

1장. 사용자 수에 따른 규모 확장성 - 2편

※  내용이 많아서 1편과 2편으로 나눴습니다. ※ 데이터센터아래는 두 개의데이터 센터를 이용하는 사례이다. 징애가 없는 상황에서 사용자는 가장 가까운 데이터 센터로 안내되는데, 이 절차를 지리적 라우팅(geoDNS-routing)이라고 부른다. 지리적 라우팅에서의 geoDNS는 사용자의 위치에 따라 도메인 이름을 어떤 IP 주소로 변환할지 결정할 수 있도록 해 주는 DNS 서비스이다. 데이터 센터 중 하나에 심각한 장애가 발생하면 모든 트래픽은 장애가 없는 데이터 센터로 전송된다.다중 데이터센터 아키텍처를 만들려면 몇 가지 기술적 난제를 해결해야 한다. 트래픽 우회올바른 데이터 센터로 트래픽을 보내는 효과적인 방법을 찾아야한다.데이터 통기화(synchronization)데이터 센터마다 별도의 데이터베이..