Vannak-e problémák külső tárolás használatával? És például, lehet-e több példány ugyanabból az alkalmazásból? Mi történhet ebben az esetben?
Golang
Használtál üzenetközvetítőket a munkádban?
Miért nem térnek vissza hibák a Process módszerben? Javítani kell és teljesen működő kódot kell küldeni.
Mi a különbség a relációs adatbázisok és a NoSQL között?
Mi a csatornák a Go-ban és a select operátor?
A B-fa mellett milyen más struktúrákat használnak adatbázisok indexelésére?
Milyen irányt vagy projektet bíztak rád jelenleg a jelenlegi szervezeteden belül?
Mi az a mutató és mennyit nyom?
Használható-e a kontextus az adatok átadására komponensek vagy funkciók között?
Mi a különbség a folyamat és a szál között?
Mi az a versenyhelyzet (race condition), és milyen módszerekkel lehet védekezni ellene?
Mi a különbség a goroutine és az operációs rendszer szál között?
Dokumentumfrissítések érkeznek a szolgáltatáshoz message Document { string Url = 1; // A dokumentum URL-je, egyedi azonosítója uint64 PubDate = 2; // a dokumentum bejelentett közzétételi ideje uint64 FetchTime = 3; // ennek a dokumentumfrissítésnek az időpontja, verzióazonosítóként értelmezhető. A (Url, FetchTime) pár egyedi. string Text = 4; // a dokumentum szövege uint64 FirstFetchTime = 5; // kezdetben hiányzik, ki kell tölteni } A dokumentumok tetszőleges sorrendben érkezhetnek (nem a frissítésük sorrendjében), és lehetnek duplikált üzenetek. A kimeneten ugyanazokat az üzeneteket kell létrehozni, de a következő szabályok szerint javított mezőkkel (az alábbiak mindegyike ugyanazzal a Url mezővel rendelkező dokumentumcsoportokra vonatkozik): A Text és FetchTime mezőknek a legnagyobb eddig kapott FetchTime-hoz kell igazodniuk. A PubDate-nek a legkisebb FetchTime-hoz kell igazodnia. A FirstFetchTime-nek a legkisebb FetchTime értékének kell lennie. Más szóval, minden pillanatban a FetchTime szerint rendezett első verzióból származó PubDate és FirstFetchTime, valamint a legutóbbi verzió Textje kerül kiválasztásra. A kód interfésze így valósítható meg: type Processor interface { Process(doc *Document) (*Document, error) } Ez a kód egy olyan szolgáltatásban fog működni, amely üzeneteket olvas egy sorból (Kafka vagy hasonló), és az eredményt szintén a sorba írja. Ha a Process null értéket ad vissza, akkor semmi sem kerül a sorba.
Mi az a csatorna a Go-ban, és milyen fő alkalmazási területei vannak?
Mi az iteráció egy string felett a for range segítségével Go-ban? Mik azok a változók i és v a cikluson belül, milyen adattípusokkal rendelkeznek?
Hogyan használjuk a select-et több csatorna egyidejű kezeléséhez?
Mi a probák (probes) a Kubernetesben, hogyan állítsuk be őket és milyen típusai vannak?
Mesélj a Go-ban szerzett gyakorlati tapasztalataidról a csatornákkal kapcsolatban — hogyan alkalmaztad őket a gyakorlatban?
Mit lehet még, egy mutexen kívül, használni a versenyhelyzetek elleni védelemhez?
/* Adott egy karakterlánc, amely tartalmazza a (){} karaktereket. Meg kell határozni, hogy a bemeneti karakterlánc kiegyensúlyozott-e a zárójelek szempontjából. */ func isBalanced(s string) bool { // TODO: valósítsd meg ezt return false } fmt.Println(isBalanced("()")) // -> igaz fmt.Println(isBalanced("({()})")) // -> igaz fmt.Println(isBalanced("(()")) // -> hamis fmt.Println(isBalanced("(()))")) // -> hamis fmt.Println(isBalanced("({})")) // -> hamis