Table of Contents[Kache][Montre]
- 1. Kisa ou vle di pa konsepsyon sistèm?
- 2. Ki karakteristik ki pi enpòtan nan yon designer sistèm?
- 3. Kisa teyorèm CAP la ye egzakteman?
- 4. Kisa ou konprann pa balans chaj?
- 5. Ki diferans ki genyen ant pwogram asenkron ak pwogram paralèl?
- 6. Ki diferans ki genyen ant dekale orizontal ak vètikal?
- 7. Ki sa egzakteman ou vle di pa latansi, debi, ak disponiblite sistèm?
- 8. Ki pwopriyete ACID yo ye?
- 9. Ki sa egzakteman se sharding?
- 10. Ki sa ki CDN?
- 11. Poukisa sèvi ak CDN?
- 12. Ki diferans ki genyen ant sharding ak partitioning?
- 13. Ki sa egzakteman se kachèt?
- 14. Ki sa ki CDN sèvè kwen?
- 15. Ki diferan modèl Konsistans pou konsepsyon sistèm?
- 16. Ki sa ou vle di pa fèmen optimis?
- 17. Ki sa ou vle di egzakteman pa "eleksyon lidè"?
- 18. Ki apwòch ou genyen pou desine yon sèvis URL ki tankou TinyURL?
- 19. Ki apwòch ou pou desine twitter?
- 20. Kreye sistèm nan newsfeed pou Facebook
- 21. Ki pwopriyete BAZ yon sistèm ye?
- 22. Ki sa ki balanse chaj ak teknik afinite adrès IP?
- 23. Ki sa egzakteman se algoritm Ranplasman Cache (oswa Règleman Degèpisman)?
- 24. Ki sa egzakteman ou vle di pa tranzaksyon distribye?
- 25. Ki sa egzakteman grangou ye?
- konklizyon
Anvan ou kòmanse, nou rekòmande pou li nou an gid entwodiksyon sou konsepsyon sistèm pou rafrechi konesans fondamantal ou.
Lè w ap fè entèvyou pou yon pozisyon ki mande konesans konsepsyon sistèm, ou gen chans pale sou background ou epi demontre kapasite w pou devlope sistèm konplike.
Lè w ap pale ak yon potansyèl anplwayè, fason ou eksprime ekspètiz ou a ka ede w demontre ke ou se yon kandida konpetan pou pozisyon an.
Ou ka prepare pou entèvyou travay ou lè w aprann konsèp konsepsyon debaz yo epi reflechi sou fason w pral reponn kesyon sou yo. Nou pral ale sou kèk kesyon ak repons tipik entèvyou konsepsyon sistèm nan pòs sa a pou ede w prepare pou pwochen entèvyou w la.
1. Kisa ou vle di pa konsepsyon sistèm?
Pwosesis pou etabli karakteristik sistèm ki gen ladan modil, achitekti, konpozan, ak koòdone yo, ak done ki baze sou kritè predetèmine ke yo rekonèt kòm konsepsyon sistèm.
Li se pwosesis pou defini, kreye ak konsepsyon sistèm pou satisfè objektif ak objektif espesifik yon konpayi oswa yon òganizasyon. Konsepsyon sistèm se plis sou analiz sistèm, modèl achitekti, API, modèl konsepsyon, ak kole li tout ansanm pase li se sou kodaj.
2. Ki karakteristik ki pi enpòtan nan yon designer sistèm?
- Entèraksyon itilizatè
- Ekstèn API apèl
- Pwosesis offline
3. Kisa teyorèm CAP la ye egzakteman?
Dapre teyorèm CAP (Consistency-Availability-Partition Tolerance), yon sistèm distribiye pa ka asire C, A, ak P tout an menm tan. Li ka sèlman delivre de nan twa asirans yo nan pi plis. Ann sèvi ak yon sistèm baz done distribye pou ede nou konprann sa.
- Konsistans: Sa a presize ke done yo dwe rete konsistan yon fwa yon tranzaksyon baz done fini. Pa egzanp, tout demann yo ta dwe retounen menm repons apre yon aktyalizasyon baz done a.
- Disponibilite: Baz done yo dwe disponib epi reponn tout tan.
- Tolerans patisyon: Menm si kominikasyon vin pwoblèm, sistèm baz done a ta dwe kontinye travay.
4. Kisa ou konprann pa balans chaj?
Balans chaj se pwosesis la nan dispèse efikasman trafik fèk ap rantre nan mitan yon seri serveurs backend. Yo refere yo kòm pisin sèvè. Sit entènèt modèn yo bati pou okipe dè milyon de demann kliyan yo epi reponn yo byen vit ak fyab. Plis serveurs ap bezwen pou okipe demand sa yo.
Nan ka sa a, li enpòtan pou divize trafik demann avèk efikasite pami chak sèvè pou evite chaje yo twòp. Ekilib chaj la fonksyone kòm yon polisye trafik, entèsepte demann ak routage yo pami sèvè ki disponib pou pa gen yon sèl sèvè chaje twòp, ki kapab degrade pèfòmans aplikasyon an.
5. Ki diferans ki genyen ant pwogram asenkron ak pwogram paralèl?
Lè ou kouri nenpòt bagay asynchrone, sa vle di ou pa bezwen tann pou li fini anvan ou ka ale nan yon lòt bagay. Paralelism refere a ekzekisyon an similtane nan anpil travay.
Lè ou ka kraze travay nan diferan moso nan travay, paralelis travay efektivman. Async ak Callbacks se yon mwayen (zouti oswa mekanis) pou reprezante konkourans, sa vle di yon gwoup antite ki ta ka kominike ak pataje resous yo.
6. Ki diferans ki genyen ant dekale orizontal ak vètikal?
Anplis de sa a nan nouvo ekipman informatique nan yon rezo ki gaye pwosesis la ak demann memwa atravè yon rezo dispèse nan aparèy yo refere yo kòm dechèl orizontal. Senpleman di, nouvo egzanp sèvè yo ajoute nan pisin aktyèl la, epi chaj trafik la gaye avèk efikasite ant aparèy sa yo.
Eskalad vètikal refere a nosyon de elaji kapasite resous yon sèl òdinatè lè w ajoute RAM, CPU efikas, oswa imigre nan yon nouvo machin ki gen pi gwo kapasite. Fonksyonalite sèvè a ka ogmante san yo pa mande okenn chanjman nan pwogramasyon.
7. Ki sa egzakteman ou vle di pa latansi, debi, ak disponiblite sistèm?
Pèfòmans se yon aspè esansyèl nan konsepsyon sistèm paske li kontribye nan vitès la ak fyab nan sèvis nou yo. Twa mezi pèfòmans ki pi enpòtan yo se jan sa a:
- Tan li pran pou delivre yon mesaj sèl an milisgond yo rele latansi.
- Kantite done yo transfere avèk siksè atravè yon sistèm nan yon peryòd tan patikilye yo refere yo kòm debi. Bits pa segonn yo itilize pou mezire li.
- Kantite tan yon sistèm ki disponib pou reyaji a demann defini pa disponiblite li. Sistèm Uptime / (System Uptime+Downtime) se fòmil pou kalkile li.
8. Ki pwopriyete ACID yo ye?
- Atomisite: Li asire ke chanjman baz done yo se swa tout oswa okenn.
- Konsistans: Valè done nan baz done a konsistan.
- Izolasyon: Li refere a separasyon de tranzaksyon yo.
- Durabilite: Done yo konsève menm si sèvè a echwe.
9. Ki sa egzakteman se sharding?
Sharding se teknik pou divize yon gwo done lojik nan anpil baz done. Li refere tou a orizontal done divize paske done yo pral estoke sou plizyè òdinatè. Kòm yon rezilta, yon baz done pataje ka okipe plis demann pase yon sèl òdinatè gwo.
10. Ki sa ki CDN?
Yon rezo livrezon kontni se yon rezo òdinatè atravè lemond ki kolabore pou bay enfòmasyon sou Entènèt rapidman. Li pèmèt livrezon rapid nan eleman tankou paj HTML, fichye JavaScript, stylesheets, foto, ak videyo ki nesesè yo chaje kontni entènèt.
11. Poukisa sèvi ak CDN?
- Lè nou konsidere resous estatik yo fè alantou 80% nan yon sit entènèt, adopte yon CDN diminye souch la sou sèvè orijin nan anpil.
- Kòm gen mwens distans pou vwayaje, enfòmasyon yo pral bay pi vit pwopriyetè sit entènèt ki gen vizitè ki soti nan anpil zòn jewografik.
- Itilizatè CDN yo benefisye tou de kapasite pou monte ak desann byen vit an repons a vag trafik yo.
12. Ki diferans ki genyen ant sharding ak partitioning?
Database Sharding - Database sharding se yon metòd pou divize yon seri done nan plizyè baz done pou yo ka estoke li sou diferan estasyon travay. Pi gwo done yo ka kraze an pi piti moso epi estoke nan plizyè nœuds done, sa ki ogmante kapasite total depo sistèm lan.
Lè yo gaye done yo atravè anpil machin, yon baz done pataje ka okipe plis demann pase yon sèl sistèm.
Database Partitioning se pwosesis pou divize objè baz done ki estoke (tab, endis, ak opinyon) an moso separe. Pou ogmante kontwòlabilite, pèfòmans, ak disponiblite, gwo objè baz done yo divize.
Nan kèk ka, patisyon ka amelyore vitès lè w ap jwenn aksè nan done patisyon yo. Partitioning ka diminye gwosè endèks ak ogmante chans pou yo lokalize endèks ki pi nesesè yo nan memwa lè li aji kòm yon kolòn dirijan nan endèks.
13. Ki sa egzakteman se kachèt?
Cache se teknik pou kenbe kopi dosye yo nan yon zòn depo tanporè ke yo rekonèt kòm yon kachèt, ki akselere aksè done epi redwi latansi sit la. Se sèlman yon sèten kantite done ka estoke nan kachèt la.
Kòm yon rezilta, detèmine teknik aktyalizasyon kachèt ki pi apwopriye pou objektif biznis yo se kritik.
14. Ki sa ki CDN sèvè kwen?
Sèvè CDN yo ke materyèl kachèt akeri nan sèvè orijin ou oswa grap depo yo ke yo rekonèt kòm sèvè kwen. Pwen prezans se yon tèm ki souvan itilize pou dekri edge servers (POP).
Serveurs kwen yo pozisyone fizikman nan yon POP. Nan POP sa a, enfòmasyon yo ta ka kache pa anpil serveurs kwen.
Kapasite nan bay seksyon nan yon sit entènèt ki soti nan plizyè kote diminye distans ki genyen ant vizitè a ak sèvè entènèt la, sa ki lakòz pi ba latansi. Sèvè CDN kwen akonpli objektif sa a egzak.
15. Ki diferan modèl Konsistans pou konsepsyon sistèm?
Chak demann li ta dwe rekipere done ki pi resan ekri yo, dapre teyorèm CAP la. Lè anpil kopi done yo aksesib, senkronize yo pou kliyan resevwa done fre sou yon baz kontinyèl vin tounen yon difikilte. Sa ki annapre yo se modèl konsistans posib:
- Konsistans fèb: Apre yon ekri done, demann pou lekti a ka oswa pa kapab jwenn done yo mete ajou. Nivo estabilite sa a se ideyal pou aplikasyon an tan reyèl tankou VoIP, chat videyo, ak jwèt multijoueurs.
- Konsistans evantyèlman: Lekti pral evantyèlman wè done ki pi resan yo nan kèk milisgond apre yo fin ekri done yo. Done yo kopi asynchrone nan ka sa a. DNS ak sistèm imel yo se egzanp sa a. Sa a travay efektivman nan sistèm ki gen gwo disponiblite.
- Bonjan konsistans: Apre yon ekri done, lektè fiti yo pral wè done ki pi resan yo. Done yo kopye synchrone nan ka sa a. Sa a ka obsève nan RDBMS ak sistèm dosye, ki apwopriye pou transfè done.
16. Ki sa ou vle di pa fèmen optimis?
Bloke optimis se yon mekanis kote ou li yon dosye, nòt yon nimewo vèsyon (fason altènatif gen ladan dat, timestamps, oswa checksums/hashes), ak Lè sa a, double-tcheke ke vèsyon an pa te chanje anvan ekri li tounen.
Lè ou ekri dosye a tounen, ou itilize vèsyon an pou filtre aktyalizasyon a pou asire ke li atomik. (sa vle di, pa te chanje ant lè ou tcheke vèsyon an ak lè ou ekri dosye a sou disk la) ak mete ajou li tout nan yon fwa.
17. Ki sa ou vle di egzakteman pa "eleksyon lidè"?
Nan yon sistèm distribiye ak anpil sèvè ki kontribye nan disponiblite aplikasyon an, ka gen kèk fwa lè yon sèl sèvè responsab pou mete ajou API twazyèm pati yo, paske plizyè sèvè ka lakòz pwoblèm lè w ap itilize API yo.
Sèvè sa a ke yo rekonèt kòm sèvè prensipal la, epi pwosedi pou chwazi li se ke yo rekonèt kòm eleksyon lidè. Lè sèvè lidè a echwe nan yon sistèm distribiye, sèvè yo dwe remake echèk la epi chwazi yon nouvo lidè. Sèvi ak yon teknik konsansis, apwòch sa a pi byen adapte pou disponiblite segondè ak aplikasyon konsistans fò.
18. Ki apwòch ou genyen pou desine yon sèvis URL ki tankou TinyURL?
TinyURL transfòme yon URL long nan yon sèl, inik URL kout. Teknoloji sa yo ka aksepte tou yon URL kout epi retounen URL konplè a.
Ki kèk nan kalite enpòtan yo?
- Fè yon URL ki pi kout pase orijinal la.
- Kenbe URL ki pi long la epi ranplase li ak youn ki pi kout la.
- Pèmèt pou redireksyon nan URL kout.
- Yo sipòte URL kout ak non koutim.
- Manyen plizyè demann nan yon fwa.
Ki pwoblèm ki pi komen yo?
- Ki jan ou kenbe tras nan depo baz done?
- Kisa k ap pase si chaj itilizatè a depase atant?
- E si de moun itilize menm URL koutim?
Konsidere sijesyon sa yo:
- Hashing se yon nosyon ki ka itilize pou konekte URL ansyen ak nouvo.
- REST API ka itilize pou okipe kominikasyon front-end ak balans chaj la lou.
- Multithreading se yon nosyon ki pèmèt ou okipe plizyè demann alafwa.
- URL orijinal yo estoke nan baz done NoSQL.
19. Ki apwòch ou pou desine twitter?
Kondisyon yo bay:
- Voye tweets
- Swiv lòt itilizatè yo
- Tweet manje/nouvèl
- Sistèm évolutive
- Chaje byen vit
- Sistèm se serye
Ou ka kòmanse panse konsepsyon API Twitter ou a lè ou te etabli kritè yo. Men ki jan li ta parèt:
Pou kòmanse, nou pral trase pwen final kle API a. Men kèk egzanp:
- voyeTweet(mesaj)
- followUser(ID Itilizatè)
- unfollowUser(ID itilizatè)
- getFeed(paj)
Lè sa a, achitekti ki pral pèmèt karakteristik sa yo ka trase soti. Nou ka kòmanse ak itilizatè a ki soumèt yon demann sèvè. Nou ka enstale lòt sèvè API dèyè yon balans chaj pou ede wout pi gwo nivo trafik yo satisfè bezwen an évolutivité. Nou pral bezwen ajoute yon baz done pou konsève tweets nou yo kounye a.
Li enpòtan sonje ke API nou bay la ta dwe évolutive. Pou rann sèvis sa a évolutive, nou ka fè youn nan sèvè API nou yo li nan yon kachèt separe pou nouvèl nou an. Pandan n ap fè sa, nou ta dwe tou itilize yon founisè manje pou kenbe kachèt manje nou an ajou.
20. Kreye sistèm nan newsfeed pou Facebook
Nouvèl la sou Facebook pèmèt itilizatè yo wè sa k ap pase nan sèk zanmi yo, paj pi renmen yo, ak òganizasyon yo te swiv.
Ki kèk nan karakteristik esansyèl yo?
- Kreye yon nouvèl ki baze sou post ki soti nan lòt antite sistèm itilizatè a swiv.
- Tèks, foto, odyo, ak videyo yo tout ka itilize nan afiche Nouvèl.
- An tan reyèl, ajoute nouvo kontni nan fil nouvèl itilizatè a.
Ki kèk nan pwoblèm ki pi komen yo?
- E si nouvo pòs la pran anpil tan pou parèt nan nouvèl la?
- Èske algorithm la ka jere yon pike nan aktivite itilizatè?
- Ki pòs yo ta dwe parèt an premye nan nouvèl la?
Konsidere sijesyon sa yo:
- Egzamine mekanis fanout pou distribye post bay disip yo.
- Egzamine kijan sharding ka itilize pou jere chay itilizatè segondè avèk efikasite.
- Done manje yon itilizatè pa ta dwe kopi sou plizyè serveurs. Sharding ka fè olye de sa ki baze sou ID itilizatè yo.
21. Ki pwopriyete BAZ yon sistèm ye?
Karakteristik BASE yo omniprésente nan baz done NoSQL ki fèk parèt. Yon sistèm BASE pa bay konsistans, dapre teyorèm CAP. Sa a se yon akwonim ki koresponn ak pwopriyete sa a teyorèm CAP nan yon sistèm:
- Tèm "basikman disponib" vle di ke sistèm nan ap disponib tout tan.
- Yon eta mou vle di ke eta sistèm nan ka varye sou tan, menm si pa gen okenn opinyon yo bay. Sa a se sitou akòz konsistans evantyèlman modèl la.
- Etandone ke sistèm nan pa resevwa opinyon pandan peryòd sa a, evantyèlman konsistans vle di ke sistèm nan ap vin konsistan sou tan.
22. Ki sa ki balanse chaj ak teknik afinite adrès IP?
Yon lòt metòd enpòtan nan balans chaj se afinite adrès IP. Adrès IP kliyan an konekte ak yon ne sèvè nan metòd sa a. Yon ne sèvè okipe tout demann ki soti nan yon adrès IP kliyan.
Metòd sa a se senp pou aplike depi adrès IP la toujou aksesib nan header demann HTTP a epi pa gen okenn lòt paramèt ki nesesè. Si kliyan ou yo gen chans pou yo gen bonbon dezaktive, fòm sa a nan balans chaj ka avantaje.
23. Ki sa egzakteman se algoritm Ranplasman Cache (oswa Règleman Degèpisman)?
Algoritm kachèt (ki rele tou algoritm ranplasman kachèt, politik ranplasman kachèt, oswa politik degèpisman kachèt) se enstriksyon optimize, oswa algoritm, ke yon pwogram òdinatè oswa yon estrikti pyès ki nan konpitè kenbe ka itilize pou jere yon kachèt done ki estoke sou òdinatè a.
Cache ogmante vitès lè yo estoke done ki fèk itilize oswa souvan jwenn aksè nan rejyon memwa ki pi rapid oswa mwens chè pou jwenn aksè pase depo memwa tradisyonèl yo. Lè kachèt la plen, algorithm la dwe deside ki atik yo retire yo nan lòd yo fè yon plas pou nouvo yo.
24. Ki sa egzakteman ou vle di pa tranzaksyon distribye?
Yon tranzaksyon distribiye se nenpòt sikonstans kote yon sèl evènman lakòz chanjman nan de oswa plis sous diferan nan done ki pa ka komèt atomikman.
Li vin pi konplike nan mond mikwosèvis yo paske chak sèvis se yon inite travay, epi pi fò nan anpil sèvis yo dwe kolabore pou fè yon biznis reyisi.
25. Ki sa egzakteman grangou ye?
Lè yon fil pa kapab jwenn aksè regilye nan resous pataje, yo di li ap mouri grangou. Sa rive lè fil "visye" oswa fil ki gen pi gwo "priyorite" fè resous pataje yo pa aksesib pou peryòd tan ki long.
Konsidere yon objè ki bay yon metòd senkronize ki souvan retounen an reta. Si yon fil repete apèl metòd sa a, lòt fil ki mande souvan aksè senkronize nan menm objè a pral souvan bloke.
konklizyon
Yon sesyon brase lide se tout sa entèvyou konsepsyon sistèm lan enplike. Nou te adrese kesyon entèvyou System Design ki pi komen nan pòs sa a.
Yon konpreyansyon konplè sou metòd w ap pran lè w ap kreye yon sistèm espesifik enpòtan anpil pou w pase yon entèvyou System Design.
Kite yon Reply