A 10 legfontosabb rendszer-tervezési interjúkérdés és válasz (Frissítve 2019-re)

Tartalomjegyzék:

Anonim

Bevezetés a rendszertervezéshez Interjúkérdések és válaszok

A rendszertervezés egy olyan rendszer elemeinek meghatározására szolgáló eljárás, mint például az architektúra, az összetevők és a modulok, az összetevők különböző interfészei és a rendszeren átmenő statisztikák. Egy logikus és hatékony rendszer megtervezésén keresztül célja, hogy megfeleljen egy vállalkozás vagy szervezet speciális követelményeinek és igényeinek. Ez magában foglalja a rendszer tervezésének szervezett megközelítését. Alulról felfelé vagy fentről lefelé történő megközelítésre van szükség a rendszer összes kapcsolódó változójának figyelembevételéhez. A modellező nyelveket a tervező használja az adatok és ismeretek továbbítására egy rendszer struktúrájában, amelyet egy kompatibilis szabályok és meghatározások határoznak meg. A tervek leírhatók szöveges vagy grafikus modellezési nyelveken.

A grafikus modellezési nyelvek néhány példája:

  • Unified Modeling Language (UML): Leírja a szoftvert mind viselkedésbeli, mind szerkezetileg grafikus jelöléssel.
  • Üzleti folyamatmodellezési jelölés (BPMN): A folyamatmodellezésre szolgál
  • Rendszermodellezési nyelv (SysML): Rendszer-tervezéshez használják.
  • Folyamatábra: Egy algoritmus szimbolikus vagy lépcsőzetes ábrázolása.

Mire számíthat egy rendszertervező interjúban?

Egy ilyen interjú általában egy nagyon nyitott problémával kezdődik, mint például a saját közösségi hálózat (például a Facebook, a Twitter) megtervezése. A beszélgetés előrehaladtával az interjúalany további korlátozásokat vagy feltételezéseket vezet be a probléma terjedelmének csökkentése érdekében.

Ezeknek a kérdéseknek a megoldása érdekében olyan dolgok segítenek a gyakorlásban, amelyek strukturált megközelítést mutatnak.

Most, ha olyan munkát keres, amely a rendszer tervezésével kapcsolatos, akkor fel kell készülnie a 2019. évi rendszertervezési interjúkérdésekre. Igaz, hogy az interjúk különbözőek a munkakörök szerint. Itt készítettük el a fontos rendszertervezési interjúkérdéseket és -válaszokat, amelyek segítenek az interjú sikerében.

Ebben a 2019-es rendszer-tervezési interjúkérdések cikkben bemutatjuk a 10 legfontosabb és leggyakrabban feltett rendszer-interjú kérdést. Ezeket a kérdéseket két részre osztják:

1. rész - Rendszertervezés Interjúkérdések (Alap)

Ez az első rész a rendszer tervezésével kapcsolatos alapvető interjúkérdéseket és válaszokat tartalmazza

1. kérdés) TinyURL vagy bit.ly tervezés (URL-lerövidítő szolgáltatás)?

Válasz:
Tegyen fel olyan funkciókat, amelyeket a rendszernek először támogatnia kell. Másodszor, mutassa be a becsült számot, hogy milyen méretezhető lehet a rendszer.

A szolgáltatás tervezése során három szempontot kell figyelembe venni:

  • API (REST API) - Az ügyfél kommunikációs megközelítése a szolgáltatással, valamint a terheléselosztóval, amely a szolgáltatás eleje.
  • Alkalmazási réteg - olyan munkavállalói szálak vagy gazdagépek, amelyek az URL-t veszik fel, előállítják az apró URL-t, és mindkettőt a perzisztencia rétegben tárolják.
  • Perzisztencia réteg - adatbázis

Elemezni kell:

  • Generáljon egyedi azonosítót minden URL-hez, és azonos méretű azonosítót generáljon, mivel 1000-es URL-lerövidítési kérelmek másodpercenként érkeznek.
  • Szervizkezelő átirányítások.
  • Az egyedi URL-ek támogatása.
  • A kattintási statisztikák nyomon követése
  • Törölje a lejárt URL-eket

2) A YouTube / Netflix (globális video streaming szolgáltatás) tervezése?

Válasz:
Elemezni kell:

  • Videókban a szolgáltatás hatalmas mennyiségű adatot tárol és továbbít, amelyet sok felhasználó nézhet meg és oszthat meg egyszerre.
  • Jegyezze fel a videók statisztikáját, például a megtekintések, a szavazatok száma / a szavazatok száma stb.
  • Hozzászólások hozzáadása a videókhoz valós időben.

Alkatrészek:

  • OC - ​​Olyan felhők, mint az AWS, OpenConnect, amelyek tartalomszolgáltatási hálózatként működnek.
  • Háttér - adatbázis
  • Ügyfél - Bármely eszköz (asztali, Android, iPhone), amelyről a videót a YouTube / Netflix-en játssza le.

Most térjünk át a következő Rendszertervezési interjú kérdéseire.

3) A Quora / Reddit / HackerNews (közösségi hálózat + üzenőfal szolgáltatás) tervezése?

Válasz:
Elemezni kell:

A szolgáltatásokat használó emberek megoszthatják a linkeket vagy kérdéseket tehetnek fel. Más felhasználók válaszolhatnak kérdésekre vagy kommentálhatják a megosztott linkeket. A szolgáltatásnak tehát a következőket kell tennie:

  • Az egyes válaszok statisztikája, pl. A megtekintések száma, felfelé szavazatok / le szavazatok száma stb.
  • A felhasználóknak olyan helyzetben kell lenniük, hogy kövessék más felhasználókat vagy témákat
  • Az összes felhasználótól az idővonalon felmerülő legfontosabb kérdések és az általuk követett témák listája (hasonlóan a hírcsatorna generációjához).

4) A Facebook Messenger vagy a WhatsApp (globális csevegőszolgáltatás) tervezése?

Válasz:
Ez az interjú során feltett alapvető System Design interjúkérdések. Elemezni kell:

  • Tervezze meg egymás közötti beszélgetéseket a felhasználók között.
  • Tervezésének kiterjesztése a csoportos csevegések támogatására.
  • Mit lehet tenni, ha a felhasználó nincs csatlakoztatva az internethez?
  • Mikor kell küldeni push értesítéseket?
  • Hogyan biztosíthatjuk a végpontok közötti titkosítást?

Szerkezet:

Ügyfél> Terheléselosztó> Csomópontok> Gyorsítótár (Redis)> Adatbázis (Casandra)

5) Tervezési keresés Typeahead (automatikus kiegészítés)?

Válasz:
Elemezni kell:

  • A fejléc-javaslatokat be kell nyújtani.
  • A javaslatok kiválasztásának kritériumai.
  • A rendszernek valós időben kell működnie?
  • Támogassa a személyre szabást a javaslatokkal.
  • A rendszer által kezelt másodperces lekérdezések.
  • Tárolandó adatok mennyisége.

2. rész - Rendszertervezési interjúkérdések (haladó)

Vessen egy pillantást a fejlett rendszer-tervezési interjúkérdésekre.

6) Dropbox / Google Drive / Google Photos tervezése?

Válasz:
Elemezni kell:

  • Hogyan tölthet fel / tekinthet meg / kereshet / oszthat meg fájlokat vagy fényképeket?
  • A fájlmegosztási engedélyek nyomon követése.
  • Több felhasználó számára lehetővé teszi ugyanazon dokumentum szerkesztését.

7) Facebook, Twitter vagy Instagram tervezése?

Válasz:
Figyelembe veendő tulajdonságok:

  • Néhány támogatandó Twitter / Facebook / Instagram szolgáltatás.
  • Tweetekre adott válaszokat támogatnia kell / a tweet csoportosítása beszélgetések útján.
  • Minden egyes tweet körül az adatvédelmi irányelvek.
  • Támogatja a trendeket
  • Közvetlen üzenetküldés
  • Megemlíti / címkézés

Elemezni kell:

  • A rendszer által kezelt felhasználók száma és forgalma.
  • A felhasználó követőinek száma.
  • A tweet kedvenceinek száma.

Az alkatrészeket meg kell tervezni:

  • Hírcsatorna generáció
  • Társadalmi grafikon
  • Szisztematikus keresés és tárolás a hozzászólásokhoz / tweethez.

Most térjünk át a következő Rendszertervezési interjú kérdéseire.

8) Megtervez egy webrobotot?

Válasz:
Méretezhető szolgáltatásra van szükség, amely képes feltérképezni az egész internetet, és több millió millió webes dokumentumot tud gyűjteni.

Elemezni kell:

  • Új weboldalak keresése.
  • A dinamikusan változó weboldalak prioritása.
  • Annak biztosítása, hogy a bejáró nincs határtalanul csatlakoztatva ugyanahhoz a tartományhoz.

9) Design Uber:

Válasz:
Ez egy gyakran feltett rendszer-interjú kérdés egy interjúban. Építészet: Monolitikus / mikro szolgáltatások (Realtime szolgáltatás, Front-end (alkalmazás) és adatbázis)

  • A háttérprogram a mobiltelefon forgalmát szolgálja, és az ügyfelek a mobil adatkapcsolaton keresztül kapcsolódnak a háttérhez.
  • Az ügyfelek kapcsolódnak a diszpécser rendszerhez, amely illeszkedik a sofőrökhöz és a versenyzőkhöz.
  • A feladást szinte teljes egészében a node.js írja.
  • Térképek / ETA: Annak érdekében, hogy a feladás intelligensen dönthessen, fontos, hogy térképeket és útválasztási adatokat kapjon.
  • Szolgáltatások: Üzleti logikai szolgáltatások, leginkább python-ban.
  • Adatbázisok: Postgres, Redis, MySQL.

Elemezni kell:

  • Ügyfél, aki utazást igényel, és hogyan lehet gazdaságilag összeegyeztetni őket a közeli sofőrökkel.
  • Tonna földrajzi hely tárolása a mozgó járművezetők és versenyzők számára.
  • Az illesztőprogramok helyének frissítéseinek kezelése.

10) Tervezzen egy API sebességkorlátozót (Github)?

Válasz:
Elemezni kell:

  • A kérelmek számának korlátozása, amelyet az entitás egy időablakban küldhet egy API-nak, például másodpercenként tíz kérést.
  • A sebességkorlátozásnak szétszórt beállításoknál kell működnie, mivel az API-k kiszolgálók csoportján keresztül érhetők el.

Ajánlott cikkek

Ez útmutatóként szolgál a rendszertervezési interjúval kapcsolatos kérdések és válaszok listájához, így a jelölt könnyen meg tudja oldani ezeket a rendszertervezési interjúval kapcsolatos kérdéseket. Itt, ebben a bejegyzésben megvizsgáltuk a legfontosabb rendszer-tervezési interjúkérdéseket, amelyeket gyakran kérdeznek az interjúkban. A következő cikkeket is megnézheti további információkért -

  1. AutoCAD interjúkérdések
  2. Photoshop interjúkérdések
  3. Adobe Illustrator kezdőknek
  4. Grafikai tervező asszisztens