Legjobb válasz
Íme néhány, amit felidézek escapades megkérdezése:
- Instagram vagy valamilyen típusú tartalomcsatorna megtervezése. Ez valójában SUPER közös, i. 3–4 alkalommal kellett megszereznie különféle vállalatoknál. Ez elég sütiforma, és valószínűleg ezt kérdezik azok a kérdezőbiztosok, akik lusták jobb kérdéssel előállni.
- Tervezés típusa előre / automatikus kiegészítés. Ezt is többször megkapták, néha kis eltérésekkel. Általában egy Trie adatstruktúrán alapul. Ez egy nagyszerű gyakorlat!
- Tervezzen üzenetküldő buszt (apache kafka / zeromq / rabbitmq). Valami ilyesmit kaphat, ha egy infra-orientált szoftveres szerepkörrel interjút készít. Ez egy nagyszerű, amely számos különböző fókuszterületet és részkérdést eredményezhet.
- Tervezzen LRU gyorsítótárat. Általában egy kétszeresen összekapcsolt lista végrehajtásával jön létre, hogy állandó időtartamú eltávolítást kapjon a legkevésbé használt elemekről, amikor a gyorsítótár megtelt.
- Tervezés elosztott gyorsítótár. Ismét egy infra-orientált szerephez tartozhat. Sokféle irányba is felvehető.
- Adatbázis-táblák / adattárház tervezése. Ez lehet egy inkább adatmérnök-orientált szerep, de a SWE-k esetében is gyakori, mivel a jó adattervezés rendkívül fontos.
Íme néhány, amit NEM láttam személyesen annak ellenére, hogy általánosan elfogadott általános:
- URL-rövidítő megtervezése
- Tervezzen webáruházat / e-kereskedelmi webhelyet
Remélem, hogy ez segít! Hajlandó lennék fogadni, hogy a 4–5 legjobb a rendszertervezési interjúk TÖRTÉNYÉT fedi le – és azok számára, amelyekre nem terjed ki, a tanulmányozásuk során megszerzett ismereteknek jól át kell terjedniük a kérdések különböző variációira.
Válasz
Rendszertervezési interjúk tesztelik tervezési készségeidet és komplex és skálázható szolgáltatásokkal való együttműködés képességét. Az ezeken az interjúkon nyújtott teljesítménye meghatározza, hogy milyen pozíciót és fizetést kínál Önnek. Ha dicséretes tervezési ismeretekkel rendelkezik, magasabb ajánlatot kap. Jó forrás ennek az interjúnak a felkészüléséhez: A rendszertervezési interjú bekukkolása
Néhány példa a tervezési problémákra:
- URL-rövidítési szolgáltatás, például a TinyURL megtervezése
- Instagram megtervezése
- Twitter megtervezése
- Youtube megtervezése
- Facebook Messenger tervezése
- Dropbox megtervezése
- Typeahead javaslat megtervezése
- A Facebook tervezése Hírcsatorna
- Yelp tervezés
- Tervezés Uber
Továbbá érdemes megismerkednie olyan elosztott rendszerek fogalmaival, mint a Következetes hasítás, Adatok particionálása , Terheléselosztás , Redundancia és replikáció , KAP-tétel , stb.
Tapasztalataim szerint az interjúk készítésében jobban teljesítő jelöltek követték ezt a hét lépést:
1. lépés: A követelmények pontosítása: Mindig tegyen fel kérdéseket a megoldott probléma pontos körének megtalálásához.
Lépés 2: A rendszerinterfész meghatározása: Határozza meg, hogy milyen API-k várhatók a rendszertől. Ez biztosítja azt is, ha nem követett el rossz követelményeket.
3. lépés: Boríték hátul becslése: Mindig jó ötlet megbecsülni a tervezett rendszer méretét.
4. lépés: Adatmodell meghatározása: Bár ez korán nem szükséges, ez tisztázza, hogyan fognak áramlani az adatok a rendszer különböző összetevői között, és később az adatok particionálása felé is eligazít.
5. lépés: Magas szintű tervezés: Rajzoljon blokkdiagramot 5-6 mezővel, amelyek a rendszer alapvető elemeit ábrázolják.
6. lépés: Részletes alkatrészterv : ásson mélyebben 2-3 komponensbe; az interjúztatók visszajelzésének mindig arra kell irányítania, hogy a rendszer mely részei felé szeretné tovább magyarázni.
7. lépés: Szűk keresztmetszetek: Próbáljon megbeszélni a lehető legtöbb szűk keresztmetszetet és különböző megközelítéseket ezek enyhítésére.Remélem, ez segített.