Topp 10 intervjuer för systemdesignintervjuer och svar (Uppdaterat för 2019)

Innehållsförteckning:

Anonim

Introduktion till intervjufrågor och svar på systemdesign

Systemdesign är proceduren för att definiera elementen i ett system såsom arkitektur, komponenter och moduler, de olika gränssnitten för dessa komponenter och statistiken som går igenom det systemet. Genom konstruktion av ett logiskt och effektivt system är det avsett att tillfredsställa specifika krav och behov hos ett företag eller organisation. Det innebär en organiserad strategi för utformningen av ett system. Bottom-Up eller Top-Down-metod behövs för att ta hänsyn till alla relaterade variabler i systemet. Modellspråk används av en designer för att förmedla data och kunskap i en struktur i ett system som definieras av en kompatibel uppsättning regler och definitioner. Konstruktionerna kan beskrivas på textuella eller grafiska modelleringsspråk.

Några av exemplen på grafiska modelleringsspråk är:

  • Unified Modeling Language (UML): Den beskriver programvaran både beteendemässigt och strukturellt med grafisk notation.
  • Affärsprocessmodelleringsnotation (BPMN): Den används för processmodellering
  • Systems Modeling Language (SysML): Det används för systemteknik.
  • Flödesschema: En symbolisk eller stegvis bild av en algoritm.

Vad ska man förutse i en systemdesignintervju?

En sådan intervju börjar normalt med ett mycket öppet problem som att utforma ditt eget sociala nätverk (som Facebook, Twitter). När diskussionen fortskrider kommer intervjuaren att lägga till extra begränsningar eller antaganden för att minska problemets omfattning.

För att ta itu med dessa frågor, saker som hjälper dig att öva och ha ett strukturerat tillvägagångssätt.

Om du nu letar efter ett jobb som är relaterat till systemdesign måste du förbereda dig för intervjufrågorna om systemdesign 2019. Det är sant att varje intervju är olika enligt de olika jobbprofilerna. Här har vi förberett de viktiga systemdesignintervjuer och svar som hjälper dig att få framgång i din intervju.

I den här artikeln om systemdesignintervjufrågor kommer vi att presentera 10 viktigaste och vanliga frågor om systemdesignintervjuer. Dessa frågor är indelade i två delar är följande:

Del 1 –Systemdesign IntervjuFrågor (Grundläggande)

Den första delen täcker grundläggande intervjufrågor och svar på systemdesign

F1) Design TinyURL eller bit.ly (en URL-förkortningstjänst)?

Svar:
Kom med funktioner som systemet bör stödja först. För det andra, beräkna antalet beräkningar på hur skalbart systemet kan vara.

När du utformar en tjänst finns det tre saker att tänka på:

  • API (REST API) - Klientens kommunikationsmetod med tjänsten tillsammans med en lastbalanserare som är tjänstens främre del.
  • Applikationslager - arbetartrådar eller värdar som tar URL: en och genererar den lilla URL: n för den och lagrar båda i persistensskiktet.
  • Persistenslager - databas

Saker att analysera:

  • Generera ett unikt ID för varje URL och generera ID: s i skala eftersom 1000-tal förfrågningar av URL-adress kommer varje sekund.
  • Omdirigeringar av servicehandtag.
  • Stöd för anpassade webbadresser.
  • Spåra klickstatistik
  • Ta bort giltiga URL: er

2) Design YouTube / Netflix (en global videostreamningstjänst)?

Svar:
Saker att analysera:

  • I videor kommer tjänsten att lagra och överföra en enorm mängd data som ett stort antal användare kan titta på och dela dem samtidigt.
  • Spela in statistik om videor, till exempel det totala antalet visningar, upp röster / ned röster, etc.
  • Lägga till kommentarer på videor i realtid.

Komponenter:

  • OC - Moln som AWS, OpenConnect som fungerar som ett innehållsleveransnätverk.
  • Backend - databas
  • Klient - Alla enheter (Desktop, Android, iPhone) från vilken du spelar upp videon på YouTube / Netflix.

Låt oss gå till nästa frågor om systemdesignintervjuer.

3) Designa Quora / Reddit / HackerNews (ett socialt nätverk + service board service)?

Svar:
Saker att analysera:

De personer som använder tjänsterna kan dela länkar eller skicka frågor. Andra användare kan svara på frågor eller kommentera de delade länkar. Så tjänsten bör göra följande:

  • Registrerar statistik för varje svar, t.ex. det totala antalet visningar, upp röster / ned röster etc.
  • Användare ska kunna följa andra användare eller ämnen
  • Lista med de översta frågorna på tidslinjen från alla användare och ämnen de följer (liknande nyhetsfeedgenerering).

4) Designa Facebook Messenger eller WhatsApp (en global chattjänst)?

Svar:
Detta är de grundläggande intervjufrågorna om systemdesign som ställs i en intervju. Saker att analysera:

  • Designa en på en konversation mellan användare.
  • Utöka din design för att stödja gruppchattar.
  • Vad kan göras när användaren inte är ansluten till internet?
  • När ska du skicka push-aviseringar?
  • Hur tillhandahåller du kryptering från slutet till slut?

Strukturera:

Klient> Lastbalancer> Noder> Cache (Redis)> Databas (Casandra)

5) Typsök för designsökning (Autocomplete)?

Svar:
Saker att analysera:

  • Typförslag som ska lämnas.
  • Kriterier för att välja förslagen.
  • Behöver systemet vara realtid?
  • Stöd personalisering med förslagen.
  • Frågor per sekund som ska hanteras av systemet.
  • Mängd data som ska lagras.

Del 2 - Intervjufrågor om systemdesign (avancerat)

Låt oss nu titta på de avancerade frågorna om systemdesignintervjuer.

6) Designa Dropbox / Google Drive / Google Photos?

Svar:
Saker att analysera:

  • Hur laddar jag upp / visar / söker / delar filer eller foton?
  • Spåra behörigheter för fildelning.
  • Tillåter flera användare att redigera samma dokument.

7) Design Facebook, Twitter eller Instagram?

Svar:
Funktioner som ska beaktas:

  • Några av de Twitter / Facebook / Instagram-funktioner som stöds.
  • Behöver stödja svar på tweets / gruppera tweets efter konversationer.
  • Sekretessregler runt varje tweet.
  • Stödja trendande tweets
  • Direktmeddelanden
  • Nämner / Tagging

Saker att analysera:

  • Antalet användare och trafik som ska hanteras av systemet.
  • Antal följare som användaren har.
  • Antalet gånger tweeten har gynnats.

Komponenter som måste utformas:

  • Newsfeed generation
  • Social graf
  • Systematisk sökning och lagring för inlägg / tweets.

Låt oss gå till nästa frågor om systemdesignintervjuer.

8) Designa en webcrawler?

Svar:
Skalbar tjänst krävs som kan genomsöka hela webben och kan samla hundratals miljoner webbdokument.

Saker att analysera:

  • Hitta nya webbsidor.
  • Prioritera webbsidor som förändras dynamiskt.
  • Se till att sökroboten inte är gränslöst kopplad till samma domän.

9) Design Uber:

Svar:
Detta är de vanliga frågorna om systemdesignintervjuer i en intervju. Arkitektur: Monolitiska / mikrotjänster (realtidstjänst, front-end (applikation) och databas)

  • Backend servar mobiltelefontrafiken och klienter ansluter till backend över mobildata.
  • Kunder länkar till avsändningssystemet som matchar förare och ryttare.
  • Dispatch skrivs nästan helt i node.js.
  • Kartor / ETA: För att avsändningen ska kunna göra ett intelligent val är det viktigt att få kartor och routningsdata.
  • Tjänster: Affärslogiktjänster mestadels skrivna i python.
  • Databaser: Postgres, Redis, MySQL.

Saker att analysera:

  • Kund som begär en åktur och hur man ekonomiskt kan matcha dem med de närliggande förarna.
  • Förvara massor av geografiska platser för förare och ryttare som alltid är på resande fot.
  • Hantera uppdateringar till drivrutinsplatser.

10) Designa en API-begränsare (Github)?

Svar:
Saker att analysera:

  • Begränsa antalet förfrågningar som en enhet kan skicka till ett API inom ett tidsfönster, till exempel tio förfrågningar per sekund.
  • Hastighetsbegränsning bör fungera för en spridd installation, eftersom API: er kan nås via en grupp servrar.

Rekommenderade artiklar

Detta har varit en guide till listan med frågor om systemdesignintervjuer och svar så att kandidaten lätt kan slå samman dessa systemdesignfrågor. Här i det här inlägget har vi studerat de viktigaste frågorna om systemdesignintervjuer som ofta ställs i intervjuer. Du kan också titta på följande artiklar för att lära dig mer -

  1. AutoCAD-intervjufrågor
  2. Photoshop-intervjufrågor
  3. Adobe Illustrator för nybörjare
  4. Grafisk designerassistent