-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
효과적 면접을 위한 4단계 접근법
1단계 문제 이해 및 설계 범위 확정
- 퀴즈쇼가 아니므로 바로 답을 밀지 말고 올바른 질문과 가정을 해야 한다.
- 올바른 질문
- 구체적으로 어떤 기능 만들어야?
- 제품 사용자 수는 얼마나?
- 회사 규모는 어느 속도로 커지리라 예상?
- 기술스택?
- 예시
- 포스트별 가중치?
- 사이트로 오는 트래픽 규모?
- 이미지, 비디오 등 파일 형식?
2단계 개략적인 설계안 제시 및 동의 구하기
- 면접관도 설계 참여시키기
- CDN, 메시지 큐, 캐시 등등 핵심 컴포넌트 포함하는 다이어그램 그리기
- 시스템 구체적 사용 사례 살펴보기 - edge case 발견
3단계 상세 설계
뉴스 피드 시스템 설계
도메인 입력 → DNS 쿼리가 브라우저 캐시 확인 → OS캐시, 라우터 캐시 확인
→ 못 찾으면 ISP(Internet Service Provider)에서 DNS Recursor가 Root Name Server에 연결
→ 하위 DNS 서버로 redirection → IP주소 찾은걸 Recursor가 받아서 브라우저로 보냄
→ 로드밸런서
→ 웹서버
→ 포스팅 전송 서비스 → 사용자 정보 캐시 → 사용자 정보 DB (or → 메시지 큐 → 포스팅 전송 작업 서버 → 뉴스 피드 캐시)
- 우선순위 파악 중요
- url shrotener → 해시 함수
- chatting system → latency
4단계 마무리
- 개선점 제시
- 요약
- 매트릭, 모니터링 등 운영 이슈
- 스케일링