Sobes.tech

Golang

Kaip patikrinti, ar langas turi visus reikiamus simbolius?

139

Kaip apdorojami pranešimai, siunčiami naudotojams, kurie yra neprisijungę?

139

Ar naudojote viešąsias debesų paslaugas? Jei taip, kokius teikėjus ir paslaugas?

139

Papasakokite apie savo neseniai vykdytus projektus ir naudotą technologijų rinkinį.

138

/* Mums reikia perduoti duomenis iš šaltinio į vartotoją. Šaltinis pateikia duomenis mažais paketais (~dešimt įrašų), o vartotojas efektyviau dirba su didesniais paketais (~tūkstantis įrašų). Realiame pavyzdyje duomenys perduodami iš Kafka tipo eilės į Clickhouse duomenų bazę. Šaltinis: - Praktškai begalinis. - Šaltinis niekada negrąžina daugiau kaip MaxItems įrašų vienu Next iškvietimu. - Vienos "sesijos" (vieno Pipe funkcijos iškvietimo) metu šaltinis kiekvieną kartą grąžina naujus duomenis. - Tačiau, perkraunant sistemą, šaltinis pradeda nuo ankstesnės "patvirtintos" pozicijos, nustatytos cookie. Todėl, *kiekviena* cookie reikšmė, kurią grąžina Next, po duomenų išsaugojimo gavėjo, turi būti patvirtinta su Commit iškvietimu, ta pačia tvarka, kaip ir grąžinta iš Next. Gavėjas: - Negali apdoroti daugiau kaip MaxItems vienu metu. Reikia įgyvendinti funkciją func Pipe(p Producer, c Consumer) error, kuri skaito duomenis iš šaltinio, juos grupuoja į buferį, kurio dydis ne didesnis kaip MaxItems, ir saugo jį gavėjui, po to patvirtina pažangą šaltinyje. */ const MaxItems = 9999 type Producer interface { // Next grąžina: // - paketą elementų apdorojimui // - cookie, kurį reikia patvirtinti, kai apdorojimas baigtas // - klaidą Next() (items []any, cookie int, err error) // Commit naudojamas žymėti duomenų paketą kaip apdorotą Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

137

Aprašykite algoritmą maxSegment užduočiai spręsti

136

4 - greitai priimti įeinančius uždavinius, 5 - grąžinti uždavinio rezultatą pagal užklausą 6 - jei nėra rezultato, grąžinti atitinkamą būseną /* Procesorius - paslauga, kuri vykdo ilgą, išteklių reikalaujančią operaciją. Ji jau įgyvendinta Klaidų, kurias jis grąžina, yra tik susijusios su neteisingais įvesties duomenimis, yra stabilios ir jų pakartotinis užklausimas yra beprasmiškas */ type Processor interface { Process([]byte) ([]byte, error) } /* Manome, kad turime unikalių identifikatorių generatorių (pvz., UUID). Generatorius garantuoja, kad nebus susidūrimų */ type ID string // func NewID() ID /* Tvarkaraštis priima užduotis iš klientų, juos įkelia į eilę ir pradeda apdorojimą. Užtikrina, kad vienu metu veikia ne daugiau kaip 'threads' metodų Suteikia galimybę patikrinti užduoties būseną ir gauti rezultatą ne blokuoja savo viešųjų metodų apdorojimo */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // inicializacijos logika return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // įgyvendinimas return "" }

134

Papaskinkite, kas vyksta pabaigoje — kaip mes kaupiasi buferis?

133

Kokios yra jūsų atlyginimo lūkesčiai?

129

Ar turite patirties rašant programas su daugiabriauniais ar asinchroniniais veiksmais?

128

Kokius anti-modelius žinote mikroservice architektūroje?

127

Apsvarstykime pavyzdį: first=[1,1,2], second=[1,2]. Ką turėtų grąžinti jūsų algoritmas ir ar jis teisingai veikia su dubletais?

125

Jei jums pasiūlys darbą ir jį priimsite, kaip greitai būsite pasiruošęs pradėti darbą?

125

Balanceris turi suprasti, kad backendas atsako klaidomis, ir viršijus tam tikrą slenkstį tam tikru laiku, jį išimti iš balansavimo (Circuit Breaker)

124

[vardas] paklausė: išsaugant elemento, mažesnio nei X, poziciją, kokia bus pozicija?

124

Ar viso darbo laiko metu užsiėmėte vadovavimo užduotimis?

122

Su kokiomis duomenų bazėmis ar kitais duomenų saugyklomis dirbote? Kiek užklausų per sekundę (RPS) rašymui ir skaitymui?

122

Ar teisinga, kad šiuo metu gyvenate [mieste] ir jums būtų patogu dirbti hibridiniu formatu su išėjimu į biurą?

121

Ar turite patirties kuriant ir palaikant paskirstytas sistemas?

120

Koks yra didžiausias užklausų skaičius per sekundę, kurį apdorojė labiausiai apkrautas paslauga? Ar teisinga, kad tai yra iki 5–8 tūkstančių užklausų per sekundę?

118
/11