10 parimat süsteemikujundusega seotud intervjuu küsimust ja vastused (värskendatud 2019 jaoks)

Lang L: none (table-of-contents):

Anonim

Sissejuhatus süsteemikujundusse Intervjuu küsimused ja vastused

Süsteemi kujundamine on süsteemi elementide, näiteks arhitektuuri, komponentide ja moodulite, nende komponentide mitmesuguste liideste ja seda süsteemi läbiva statistika määratlemise protseduur. Loogilise ja tõhusa süsteemi väljatöötamise kaudu on see ette nähtud ettevõtte või organisatsiooni konkreetsete nõuete ja vajaduste rahuldamiseks. See eeldab süsteemi kujundamisel organiseeritud lähenemist. Altpoolt üles või ülalt alla lähenemist on vaja süsteemi kõigi seotud muutujate arvestamiseks. Projekteerija kasutab modelleerimiskeeli andmete ja teadmiste edastamiseks süsteemi struktuuris, mis on määratletud ühilduva reeglite ja määratlustega. Kujundusi saab kirjeldada teksti- või graafilises modelleerimiskeeles.

Mõned graafilise modelleerimise keelte näited on järgmised:

  • Unified Modeling Language (UML): see kirjeldab tarkvara nii käitumuslikult kui ka struktuurilt koos graafilise märkusega.
  • Äriprotsesside modelleerimise märge (BPMN): seda kasutatakse protsesside modelleerimiseks
  • Süsteemide modelleerimise keel (SysML): seda kasutatakse süsteemide projekteerimisel.
  • Vooskeem: algoritmi sümboolne või astmeline kujutamine.

Mida peaks süsteemi projekteerimise vestlusel ette nägema?

Selline intervjuu algab tavaliselt väga lahtise probleemiga, näiteks oma sotsiaalse võrgustiku kujundamisega (näiteks Facebook, Twitter). Arutelu edenedes lisab küsitleja probleemi ulatuse vähendamiseks täiendavaid piiranguid või eeldusi.

Nende küsimustega tegelemiseks on asju, mis aitavad teil praktiseerida ja omavad struktureeritud lähenemisviisi.

Kui otsite tööd, mis on seotud süsteemidisainiga, peate nüüd valmistuma 2019. aasta süsteemi kujundamise intervjuuküsimusteks. On tõsi, et iga vestlus on erinevate tööprofiilide järgi erinev. Oleme siin koostanud olulised süsteemikujunduse küsimused ja vastused, mis aitavad teil oma intervjuus edu saavutada.

Selles 2019. aasta süsteemikujunduse intervjuu küsimuste artiklis tutvustame 10 kõige olulisemat ja korduma kippuvat küsimust süsteemi kujundamise intervjuu kohta. Need küsimused jagunevad järgmisteks osadeks:

1. osa - Süsteemi kujundamise intervjuu küsimused (põhilised)

See esimene osa hõlmab põhilisi süsteemi kujundamisega seotud intervjuu küsimusi ja vastuseid

Q1) Kujundus TinyURL või bit.ly (URL-i lühendamise teenus)?

Vastus:
Esitage funktsioone, mida süsteem peaks kõigepealt toetama. Teiseks tulge välja hinnangulised arvud, kui skaalautuv süsteem võib olla.

Teenuse kujundamisel tuleb arvestada kolme asjaga:

  • API (REST API) - kliendi suhtlusviis teenusega koos koormuse tasakaalustajaga, mis on teenuse esiosa.
  • Rakenduskiht - töötaja niidid või hostid, kes võtavad URL-i, genereerivad selle jaoks pisikese URL-i ja salvestavad mõlemad püsivuskihis.
  • Püsivuskiht - andmebaas

Analüüsitavad asjad:

  • Genereerige iga URL-i jaoks kordumatu ID ja genereerige mastaapseid ID-sid, kuna iga URL-i saabub 1000 URL-i lühendamise taotlust.
  • Hoolduskäepideme ümbersuunamised.
  • Toetage kohandatud URL-e.
  • Klõpsude statistika jälgimine
  • Kustuta aegunud URL-id

2) Kujundada YouTube / Netflix (ülemaailmne video voogesituse teenus)?

Vastus:
Analüüsitavad asjad:

  • Videote puhul salvestab ja edastab teenus tohutul hulgal andmeid, mida suur hulk kasutajaid saavad neid korraga vaadata ja jagada.
  • Salvestage videote statistika, näiteks vaatamiste koguarv, häälte üles / alla hääldamine jne.
  • Videotele reaalajas kommentaaride lisamine.

Komponendid:

  • OC - pilved nagu AWS, OpenConnect, mis toimivad sisu edastamise võrguna.
  • Taustprogramm - andmebaas
  • Klient - iga seade (lauaarvuti, Android, iPhone), millelt videot YouTube'is / Netflixis esitate.

Liigume järgmiste süsteemikujunduse intervjuu küsimuste juurde.

3) Quora / Reddit / HackerNews (sotsiaalvõrgustik + teadetetahvli teenus) kujundamine?

Vastus:
Analüüsitavad asjad:

Teenuseid kasutavad inimesed saavad linke jagada või küsimusi esitada. Teised kasutajad saavad vastata küsimustele või kommenteerida jagatud linke. Seega peaks teenus tegema järgmist:

  • Andmed iga vastuse kohta, nt vaatamiste koguarv, häälte üles / alla häälte arv jne.
  • Kasutajad peaksid saama jälgida teisi kasutajaid või teemasid
  • Kõigi kasutajate ajaliste küsimuste loetelu ja nende järgitavad teemad (sarnaselt uudistevoo genereerimisega).

4) Kujundada Facebook Messenger või WhatsApp (globaalne vestlusteenus)?

Vastus:
See on põhiline süsteemikujunduse intervjuu küsimus, mida küsitakse intervjuus. Analüüsitavad asjad:

  • Kujundage üks vestlus kasutajate vahel.
  • Oma kujunduse laiendamine rühmavestluste toetamiseks.
  • Mida saab teha, kui kasutajal pole Interneti-ühendust?
  • Millal push-teatisi saata?
  • Kuidas pakkuda krüptimist otsast lõpuni?

Ülesehitus:

Klient> Koormuse tasakaalustaja> Sõlmed> Vahemälu (Redis)> Andmebaas (Casandra)

5) Kujundusotsingu Typeahead (automaatne täitmine)?

Vastus:
Analüüsitavad asjad:

  • Esitatakse peadirektori ettepanekud.
  • Ettepanekute valimise kriteeriumid.
  • Kas süsteem peab olema reaalajas?
  • Toetage ettepanekutega isikupärastamist.
  • Süsteemi poolt käsitletavad päringud sekundis.
  • Salvestatavate andmete hulk.

2. osa - Küsimused süsteemi kujundamise kohta (täpsemad)

Vaatame nüüd keerukamaid süsteemikujunduse intervjuu küsimusi.

6) Kujundus Dropbox / Google Drive / Google Photos?

Vastus:
Analüüsitavad asjad:

  • Kuidas faile või fotosid üles laadida / vaadata / otsida / jagada?
  • Failide jagamise lubade jälgimine.
  • Luba mitmel kasutajal sama dokumenti redigeerida.

7) Kujundada Facebook, Twitter või Instagram?

Vastus:
Omadused, mida tuleks arvestada:

  • Mõned toetatavad Twitter / Facebook / Instagram funktsioonid.
  • Vaja on toetada vestlustega säutsudele vastamist / rühmadesse sättimist.
  • Privaatsuse juhtimine iga säutsu ümber.
  • Trendide säutsude toetamine
  • Otsesõnumid
  • Mainib / sildistab

Analüüsitavad asjad:

  • Kasutatavate kasutajate arv ja liiklus, mida süsteem haldab.
  • Kasutajate jälgijate arv.
  • Mitu korda on säutsu eelistatud.

Projekteeritavad komponendid:

  • Uudisvoo põlvkond
  • Sotsiaalne graafik
  • Süstemaatiline postituste / säutsude otsimine ja salvestamine.

Liigume järgmiste süsteemikujunduse intervjuu küsimuste juurde.

8) Kujundada veebi indeksoija?

Vastus:
Vajalik on skaleeritav teenus, mis suudab kogu veebi indekseerida ja koguda sadu miljoneid veebidokumente.

Analüüsitavad asjad:

  • Uute veebilehtede otsimine.
  • Prioriteetide seadmine dünaamiliselt muutuvatele veebilehtedele.
  • Veenduge, et indekseerija pole piiritlematult samasse domeeni kinnitatud.

9) Kujundus Uber:

Vastus:
See on intervjuus korduma kippuvad süsteemidisaini küsimused. Arhitektuur: monoliitsed / mikroteenused (reaalajas teenus, kasutajaliides (rakendus) ja andmebaas)

  • Taustprogramm teenindab mobiiltelefoniliiklust ja kliendid loovad taustaprogrammiga ühenduse mobiilsideandmete kaudu.
  • Kliendid viitavad dispetšerisüsteemile, mis sobib autojuhtidele ja sõitjatele.
  • Lähetus on kirjutatud peaaegu täielikult node.js.
  • Kaardid / ETA: aruka valiku tegemiseks on oluline saada kaardid ja marsruutimisandmed.
  • Teenused: äriloogika teenused, enamasti python kirjas.
  • Andmebaasid: Postgres, Redis, MySQL.

Analüüsitavad asjad:

  • Klient, kes soovib sõitu ja kuidas seda lähedal asuvate autojuhtidega majanduslikult sobitada.
  • Tonni geograafiliste asukohtade hoidmine autojuhtidele ja sõitjatele, kes on alati liikvel.
  • Juhi asukohtade värskenduste haldamine.

10) Kas soovite kujundada API Rate Limiter (Github)?

Vastus:
Analüüsitavad asjad:

  • Taotluste arvu piiramine, mida üksus saab API-le saata ajaaknas, näiteks kümme taotlust sekundis.
  • Kiiruse piiramine peaks hajutatud seadistuse korral toimima, kuna API-sid saab kasutada serverite rühma kaudu.

Soovitatavad artiklid

See on juhend süsteemikujunduse intervjuu küsimuste ja vastuste loendi loendisse, et kandidaat saaks neid süsteemikujunduse intervjuu küsimusi hõlpsalt lahendada. Selles postituses oleme uurinud populaarsemaid süsteemikujunduse intervjuude küsimusi, mida küsitakse sageli intervjuudes. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. AutoCAD-i intervjuu küsimused
  2. Photoshopi intervjuu küsimused
  3. Adobe Illustrator algajatele
  4. Graafilise disaini assistent