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 -
- AutoCAD interjúkérdések
- Photoshop interjúkérdések
- Adobe Illustrator kezdőknek
- Grafikai tervező asszisztens