Amazon의 시스템 설계 인터뷰를 준비하는 가장 좋은 방법은 무엇입니까?


우수 답변

경험있는 모든 후보자의 인터뷰를 준비하려면 시스템 설계가 필수입니다. 시스템 디자인은 확장 가능한 시스템 디자인 문제 를 의미합니다 (Uber, Facebook 뉴스 피드, 웹 크롤러 디자인 등). 이 모든 시스템에서 볼 수 있듯이 수십억 명의 사용자가 액세스합니다. 또한 회사는 한 번에 수백만 개의 요청 을 처리 할 수있는 시스템을 설계 할 수있는 엔지니어를 원하며 시스템은 항상 매우 짧은 지연 시간으로 견고해야합니다. 완전 초보자라면 일반적으로 시스템 설계를 준비하는 데 2 ​​개월이 걸립니다. 그러나 네, 당신은 그것을 배우기 위해 많은 노력을 기울여야합니다.

계속 진행하기 전에 시스템 인터뷰가 어떻게 보이는지에 대한 공정한 아이디어를 드리겠습니다.

시스템 디자인 라운드는 항상 다음으로 시작

  1. 요구 사항 및 시스템이 지원하는 모든 항목 및 무시할 수있는 모든 항목에 대한 자세한 논의
  2. 요구 사항 이후에는 면접관에게 얼마나 많은 사람들이 시스템을 사용할지 예측하는 것에 대한 공정한 아이디어
  3. API (REST API)에 대해 토론 사용자가 서비스에 액세스하는 시스템에 참여
  4. 그리기 고수준 디자인의 흐름을 끝에서 끝까지
  5. 시스템 구성 요소와 시스템 구성 요소 간의 흐름을 생각하고 생각해냅니다.
  6. 결국, 시스템의 저수준 설계를 제시합니다.

면접관과 건전한 토론을하는 것이 매우 중요합니다. 그 / 그녀의 도움을 받으려고 노력하십시오 문제를 해결합니다. 후보자들이 좋은 팀 플레이어 라는 좋은 인상을 줄 것입니다. 해결책을 알고 있더라도 면접관과 논의하지 않고 디자인 문제를 해결하지 마십시오. 면접관은 요구 사항에 대한 공정한 아이디어를 제공하고 힌트를 제공합니다. 직접 해결을 시도하면 면접관은 귀하가 이미 해결책을 알고 있다고 생각할 것이며 그게 바로 귀하가 거절 될 것입니다.

시스템 설계를 기반으로 문제 해결을 시작하기 전에 기본 사항을 준비하는 것이 매우 중요합니다. 다음은 기본 사항에 대한 몇 가지 주제입니다.

시스템 설계 문제를 준비하려면 먼저 경험이 도움이 될 것입니다 . 여러 프로젝트 개발 수명주기에 참여했을 수 있으므로 도움이됩니다. 인터뷰 과정에서 답변 할 수 있습니다.

그러나 대부분의 후보자들은 “ 업계에서 많은 노출을 얻지 못할 것입니다. 주로 사실은 IT 직원의 70-75 \%는 API를 추가하고 작은 구성 요소를 개발해야하는 유지 관리 프로젝트를 진행하고 있습니다. 따라서 그들이 얻지 못한 모든 프로젝트를 종합적으로 파악할 수 있습니다. 이를 위해 멋진 온라인 과정 / 교육 에 참여하여 시스템 설계를 배울 수 있습니다. 이러한 온라인 리소스는 인터뷰 준비에 도움이됩니다.

  • Logicmojo 과정에서 시스템 설계를 배울 수 있습니다. 시스템 설계 및 알고리즘 준비를위한 온라인 동영상 강의입니다. 이 과정은 모든 시스템 설계 구성 요소에 대한 좋은 통찰력을 제공하며 인터뷰에서 묻는 거의 모든 설계 질문을 다룹니다. 여기에는 40 개 이상의 디자인 문제 가 포함되어있어 충분히 좋은 것 같습니다.
  • 그런 다음 높은 확장 성 . 이 블로그는 유명한 시스템 설계 문제의 시스템 구성 요소 세부 정보, API 및 추정 부분을 제공합니다. 시스템의 방대한 세부 사항을 다루지 만 유용하고 관련성 높은 세부 사항도 추출해야합니다.
  • 또한 좋은 온라인 코스 교육 이 있습니다. grokking 시스템 설계 과정. 이것은 또한 시스템 설계 문제의 좋은 모음입니다. 전체 내용을 살펴보고 텍스트 기반 리소스로 읽어야합니다.

또한 모든 디자인 회의 <에 참여해야합니다. / span> 회의 시니어 아키텍트가 시스템의 기존 설계에있는 설계 논의와 결함에 대해 논의하기 때문에 사무실의 현재 프로젝트에서 발생합니다. 이것은 모든 시스템에 대한 디자인을 선택하는 방법에 대한 공정한 아이디어를 제공합니다. 또한 과거 프로젝트의 설계 문서를 읽고 이해하려고 노력하십시오. 이는 또한 시스템 설계 인터뷰 중에 도움이됩니다.

답변

당황하지 마십시오. 단계별로 준비하고 준비하는 동안 분류하고 실제 인터뷰에서 똑같이하십시오. 시스템 설계 는 까다 롭습니다. 인터뷰의 구조화되지 않은 특성을 처리해야하지만 추가 연습을 통해 그들이 던지는 모든 것을 처리 할 준비가됩니다. .

  • 인터뷰의 목표 이해 -초기에 모호성을 명확히하는 것이 중요합니다. 그들이 알고 싶은 것이 무엇인지 확인하십시오.
  • 범위 설정 -생각하는 디자인의 모든 기능을 정의하십시오. 제공된 시나리오에 대해 사용자에게 중요하게 생각합니다.
  • 적절한 규모를위한 설계 -동일한 기능 세트는 다른 비늘. 데이터가 하나의 시스템에 맞을 수 있는지 또는 읽기를 확장해야하는지 여부를 알 수 있도록 규모를 결정하는 것이 중요합니다.
  • 높은 수준으로 시작 , 그런 다음 아래로 작업 -설정 한 목표에 따라 전체 프로세스를 다루는 것으로 시작합니다. 여기에는 다양한 클라이언트, API, 백엔드 서비스, 오프라인 프로세스, 네트워크 아키텍처, 데이터 저장소 및 요구 사항을 충족하기 위해 모두 결합하는 방법에 대한 세부 정보가 포함될 수 있습니다.
  • 데이터 구조 및 알고리즘 -런타임 및 메모리 복잡성 분석이 편리한 확장 요구 사항을 고려하는 것을 잊지 마십시오.

Amazon에서 회의를 시작하기 전 가능한 한 많이 연습하세요. 인터뷰 준비를 일관되게 유지하고 인터뷰를 앞둔 몇 주 동안 주간 일정을 잡는 것이 가장 큰 도움이 될 것입니다. 준비 됐는지 확인하세요. 품질 관행 또한 양보다 중요합니다. 세션 중에주의가 산만하지 않고 당면한 문제에 집중하고 자신에게 어려운 일에 집중해야합니다. 쉬운 일만 연습하면 실제 인터뷰에서 불쾌한 놀라움과 스트레스를 받게 될 것입니다.

인터뷰 실력을 향상시키는 훌륭한 방법은 모의 인터뷰 세션입니다. 이 경험은 채용 관리자를 만날 때의 느낌에 익숙해집니다. 시작하려면 P2P 모의 인터뷰 플랫폼 인 Pramp 를 확인하세요.

Pramp는 사용자를위한 모의 시스템 디자인 인터뷰 연습을 제공합니다. 동료와 함께 일할 수 있습니다. 면접관과 면접관의 역할을 함께 수행하여 강점과 약점을 배울 수 있습니다. 다른 사람이 시스템 설계 면접을 완료하는 것을보고 면접관의 관점에서 보는 것이 좋습니다. 또한 경험 후에 피드백을 받게되며 Amazon의 고용 관리자를 만나기 전에 작업해야하는 구성 요소를 식별하는 데 사용할 수 있습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다