TĂ”eline lugu, mis pĂ”hineb vĂ€ljamĂ”eldud sĂŒndmustel.
KÔik seosed pole juhuslikud.
KÔik naljad on ebaÔnnestunud.
â Sergei, tere. Minu nimi on Bibi, minu kolleeg on Boba ja me oleme kaks⊠tiimijuhti, kes on projektis juba kaua olnud, teame kĂ”iki to-do-sid peast ja tĂ€na rÀÀgime teie teadmistest ja oskustest.
Teie CV-s on kirjas, et olete senior, töötate peamiselt .NET-iga, mĂ”istate asĂŒnkroonset ja mitme lĂ”ime programmeerimist, valdavalt oskate algoritmide ja andmestruktuuride aluseid, aga ka suuremate moodulite refaktooringut ja projekteerimist alates nullist. Ja ometi, ei saa mitte kĂŒsida seda rumalat kĂŒsimust: rÀÀkige lĂŒhidalt endast?
â Tere, Bibi ja Boba. TĂ”epoolest, töötan peamiselt .NET-iga, mĂ”istan asĂŒnkroonset ja mitme lĂ”ime programmeerimist, valdavalt oskan algoritmide ja andmestruktuuride aluseid, mul on kogemus nii refaktooringus kui ka suuremate moodulite projekteerimises alates nullist. See on lĂŒhidalt.
â AitĂ€h. Noh, alustame! Soojenduseks midagi lihtsamat: milliseid puid te teate ja millised on nende lĂ€bimise meetodid?
â Tamm, akatsia, vaher, kirsi⊠Hetkel ei tule rohkem meelde. Mis puudutab puu lĂ€bimist, siis seda saab teha erinevatelt poolt: vasakult vĂ”i paremalt. Samuti tean, et puu otsa saab ronida ja et puudes on puuaukusid, kus vahel elavad oravad.
â HĂ€sti. Siis selline kĂŒsimus â mis vahe on objekti edastamisel viitega ja selle tĂ€ielikul kopeerimisel?
â Vahe on selles, et esimesel juhul edastatakse objekt viitega, aga teisel juhul kopeeritakse see tĂ€ielikult.
â Mis teate graafidest?
â SĂŒgavalt austan kreeka loomingu, kunagi lugesin lapsena raamatut "Monte Cristo krahv". Ja kes ei tunne krahv Drakulat?!
â Mis on "SOLID"?
â "Tahke", harvem "tihke". Olenevalt kontekstist, muidugi.
â Kuidas töötab prĂŒgikorje?
â Ma tean ka. TĂŒĂŒpiline prĂŒgimees on riietatud heleroosa oranzhi kombinesooni ja spetsjalatsitesse. Ta töötab peamiselt öösiti â prĂŒgiveduautoga. PrĂŒgimehe peamine ĂŒlesanne on kanda prĂŒgikastide sisu prĂŒgiveduauto korpusesse, pĂŒĂŒdes mitte raputada ebameeldivat prĂŒgi teele. KokkuvĂ”ttes vĂ”ib öelda, et prĂŒgimeeste tĂ€htsust alahindavad meie ĂŒhiskond, kuigi nende töö on sama vÀÀrtuslik nagu Ă”petajate ja pagarite oma!
â Ja viimane rumal kĂŒsimus tĂ€na: oletame, et meil on sfÀÀriline hobune, kes oskab kĂ€ia tagajalgadel nagu inimene. Hobusel on tĂ€itmiseks kontekst, mis on seotud praeguse ruumi-aja kontinuumiga. On vajalik rakendada selliste hobuste tiiki, kellel on vĂ”imalus lahendada sĂ”jalisi konflikte LĂ€his-Idas. Kuidas te seda teeksite O( n * log(n) ) jooksul?
â Hm... kĂ”igepealt loobuksin hinnangutest. Ma mĂ”istaksin lĂ”puks, et sfÀÀriliste hobuste tiiki ei eksisteeri â ja kĂŒsimuse esitamine kaotaks igasuguse mĂ”tte. Ma ise muutuksin samal ajal nii selleks hobuseks, kui ka selliste hobuste tiigiks ja LĂ€his-Idaks. KĂŒll siis O( n * log(n) ) on tĂ€iesti samavÀÀrne O( n ^ n )-ga.
â AitĂ€h, Sergei. Me helistame teile tagasi.
â TĂ”eliselt: pole tĂ€nu vÀÀrt. Tagasi helistada ei ole vaja.
Allikas: habr.com