Qual è il modo migliore per prepararsi a un colloquio di System Design per Amazon?

La migliore risposta

Il design del sistema è obbligatorio per preparare i colloqui per tutti i candidati esperti. Progettazione di sistema significa problemi di progettazione di sistema scalabile (come Uber, Facebook Newsfeed, webcrawler design, ecc.). Come puoi vedere in tutti questi sistemi, laccesso a miliardi di utenti. Le aziende vogliono anche un ingegnere in grado di progettare il sistema in grado di gestire la richiesta di milioni alla volta e il sistema dovrebbe essere sempre robusto con una latenza molto bassa. Generalmente la preparazione del progetto del sistema richiederà 2 mesi se sei un principiante assoluto. Ma sì, è necessario applicare una buona quantità di sforzo per impararlo.

Prima di andare oltre, lascia che ti dia una buona idea di come dovrebbe essere lintervista di sistema

Il round di System Design dovrebbe sempre inizia con

  1. Una discussione dettagliata sui requisiti e su tutti gli elementi supportati dal nostro sistema e su quali elementi possiamo ignorare
  2. Dopo il requisito, è meglio dare il intervistatore unidea chiara sulla stima di quante persone utilizzeranno il sistema
  3. Discuti lAPI (API REST) ​​Coinvolgi nel sistema attraverso il quale lutente accede al nostro servizio
  4. Prova a disegnare End to end the flow of High-level Design of the design
  5. Pensare e inventare componenti di sistema coinvolge il sistema e anche il flusso tra i componenti di sistema
  6. Alla fine, inventare una progettazione di basso livello del sistema

È molto importante fare una sana discussione con lintervistatore e prova a prendere aiuto da lui / lei wh ile risolvere un problema. Farà una buona impressione che i candidati siano anche un buon giocatore di squadra . Anche se conosci la soluzione Non iniziare mai a risolvere il problema del design senza discuterne con lintervistatore. Lintervistatore darà unidea chiara del requisito e ti fornirà i suggerimenti. Se provi direttamente a risolverlo, lintervistatore penserà che tu conosca già la soluzione e questo è che sarai rifiutato .

Prima di iniziare a risolvere un problema basato sulla progettazione del sistema, è molto importante preparare le basi. Di seguito sono riportati alcuni degli argomenti per le basi

Per preparare un problema di progettazione del sistema, le prime cose sono ovviamente la tua esperienza ti aiuterà . Poiché potresti essere coinvolto in più cicli di vita dello sviluppo del progetto, quindi è utile per rispondere durante il processo del colloquio.

Ma la maggior parte dei candidati non otterrà molta visibilità nel settore principalmente perché il fatto è Il 70-75\% delle persone nellIT sta lavorando a un progetto di manutenzione in cui ha bisogno di aggiungere API e sviluppare piccoli componenti, quindi unimmagine end-to-end di qualsiasi progetto che non ha ricevuto. Per quelli, puoi imparare la progettazione di sistemi partecipando ad alcuni simpatici corsi / formazione online . Queste risorse in linea mi aiutano nella preparazione per le interviste.

  • Puoi imparare la progettazione di sistemi dal corso Logicmojo . Questo è il corso online di lezioni video per la preparazione della progettazione di sistemi e algoritmi. Questo corso ti darà una buona panoramica di tutti i componenti di progettazione del sistema e copre quasi tutte le domande di progettazione poste nelle interviste. Hanno incluso alcuni 40+ problemi di progettazione che è abbastanza buono credo.
  • Poi abbiamo un blog molto famoso chiamato Scalabilità elevata . Questi blog forniscono dettagli sui componenti di sistema, API e stime, parte dei famosi problemi di progettazione del sistema. Sebbene copra enormi dettagli del sistema, ma devi anche estrarre i dettagli utili e rilevanti
  • Inoltre, cè un buon corso online educative corso di progettazione del sistema grokking. Questa è anche una buona raccolta di problemi di progettazione del sistema. Devi esaminare il testo completo e leggerlo come risorse basate su testo

Inoltre, devi partecipare a tutti i riunioni di progettazione accade nel tuo progetto attuale in ufficio perché in quelli che incontrano larchitetto senior discutono della discussione sul design e dei difetti nella progettazione esistente del sistema. Questo dà una buona idea di come scegliere il design per qualsiasi sistema. Inoltre, prova a leggere e comprendere il documento di progettazione di eventuali progetti passati. Questo ti aiuta anche durante i colloqui di progettazione del sistema

Risposta

Non lasciarti sopraffare. Preparati passo dopo passo e suddividilo durante la tua preparazione, e fai lo stesso una volta che sei nel vero colloquio. La progettazione dei sistemi è complicata: devi affrontare la natura non strutturata dellintervista, ma con una pratica extra sarai pronto a gestire qualsiasi cosa ti lanciano .

  • Comprendere gli obiettivi dellintervista – Chiarire le ambiguità fin dallinizio è fondamentale. Assicurati di sapere quello che vogliono sapere.
  • Stabilisci lambito – Prova a definire tutte le caratteristiche del design a cui pensi dalla loro importanza per lutente per lo scenario fornito.
  • Progettare per la giusta scala – Lo stesso insieme di funzionalità richiede un approccio molto diverso per scale differenti. È fondamentale determinare la scala in modo da sapere se i dati possono essere contenuti su una macchina o se è necessario ridimensionare le letture.
  • Avvia alto livello , quindi procedi verso il basso : inizia coprendo il processo end-to-end, in base agli obiettivi che hai stabilito. Ciò potrebbe includere i dettagli di diversi client, API, servizi di backend, processi offline, architettura di rete, archivi di dati e come si uniscono per soddisfare i requisiti
  • Strutture dati e algoritmi : non dimenticare di tenere conto dei tuoi requisiti di scalabilità, per i quali lanalisi del runtime e della complessità della memoria diventa utile.

Esercitati il ​​più possibile nelle settimane che precedono il tuo incontro su Amazon. Essere coerenti con la preparazione del colloquio e programmarlo nella tua routine settimanale nelle settimane che precedono il colloquio sarà il più grande aiuto per rendere certo che sei pronto. Anche la pratica della qualità è più importante della quantità. Assicurati di non essere distratto durante le tue sessioni e di essere concentrato sui problemi a portata di mano e di lavorare su cose che sono difficili per te. Se pratichi solo le cose facili, ti ritroverai con spiacevoli sorprese e stress durante il colloquio reale.

Un modo eccellente per migliorare le tue abilità per un colloquio è con sessioni di interviste simulate. Lesperienza ti abitua a come ti sentirai quando incontrerai il responsabile delle assunzioni. Per iniziare, dai unocchiata a Pramp , una piattaforma di interviste fittizie peer-to-peer.

Pramp offre agli utenti pratiche di interviste sulla progettazione di sistemi fittizi lavorare con un collega. Insieme svolgerai sia il ruolo dellintervistatore che dellintervistato in modo che tu possa imparare anche dai loro punti di forza e di debolezza. È utile guardare qualcun altro completare il colloquio sulla progettazione del sistema e vederlo dal punto di vista dellintervistatore. Riceverai anche un feedback dopo lesperienza, che puoi utilizzare per identificare i componenti su cui devi lavorare prima di incontrare il responsabile delle assunzioni di Amazon.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *