Golang
Rääkige meile Go (Swiss Tables) uue kaardi rakendamisest. Millised kolisjonide lahendamise viisid on olemas?
Kuidas kirjutada päring, et saada kasutaja, kellel on teisejärguline palk?
Kuidas seda töölaual käsitletakse, kui see ei ole võrgu päring, vaid faili lugemine?
Kas te praegu töötad ettevõttes või lihtsalt ei ole oma CV-d uuendanud?
/* Meil on vaja edastada andmeid kindlast allikast kindlale tarbijale. Sel juhul annab allikas väikeseid partii (~ kümneid kirjeid), kuid tarbija töötab optimaalselt suuremate partiidega (~ tuhat kirjet). Tõeline näide - andmete edastamine Kafka tüüpi järjekordadest Clickhouse andmebaasi. Allikas: - Tinglikult lõpmatu. - Allikas ei tagasta kunagi rohkem kui MaxItems kirjeid ühe Next-kutse kohta. - Ühes "sessioonis" (ühe Pipe funktsiooni väljakutse jooksul) tagastab allikas iga kord uued andmed. - Kuid, taaskäivitamisel algab allikas eelmisest "kinnitust" saanud positsioonist, mis on määratletud cookie-ga. Seetõttu peab iga Next-kutse poolt tagastatud väärtus, andmete salvestamise järel vastuvõtjale, olema kinnitatud Commit-kutsega, ja see peab toimuma täpselt samas järjekorras, milles need olid Next-i poolt tagastatud. Vastuvõtja: - Ei saa töödelda rohkem kui MaxItems korraga. Põhitasand: Vajalik on rakendada funktsioon func Pipe(p Producer, c Consumer) error, mis loeb andmeid allikast, grupeerib need buferisse suurusega mitte rohkem kui MaxItems ning salvestab vastuvõtjale, ning uuendab edusamme allikas. Raskused: Next, Process ja Commit meetodid on seotud võrgupäringutega ning võivad töötada üsna kaua. Andmeedastuse kiirendamiseks tuleb lugemis-, kirjutamis- ja kinnitamisprotsessid teha paralleelselt. Nii, et Process või Commit väljakutse ajal jätkub lugemine allikast ning uue buferi koostamine. */
Ettevõttes tegeled peamiselt PHP-st Go-sse migreerimisega?
Millised on tehingute isolatsiooni tasemed?
Rääkige natuke endast — olulised andmed, mida potentsiaalne tööandja peaks teadma.
Milline järgmistest koodilõikudest sisaldab viga või potentsiaalset probleemi kanalitega töötamisel? Variant 1 package main func main() { ch := make(chan int) ch <- 1 } Variant 2 package main func main() { ch := make(chan int, 1) ch <- 1 } Variant 3 package main func main() { ch := make(chan int, 1) ch <- 1 <-ch } Variant 4 package main func main() { ch := make(chan int) close(ch) <-ch } Variant 5 package main func main() { ch := make(chan int, 3) ch <- 4 }
Mis on konkurentsus ja paralleelism? Kuidas nad erinevad? Kas nad saavad koos eksisteerida?
Kuidas kasutati RabbitMQ ja ClickHouse?
Räägi Go-s olevatest slices'test.
Mis juhtub INNER JOIN-is, kui üks rida vasakul vastab mitmele realt paremal?
Rääkige Go liidestest.
Kas on võimalik kasutada ühes SQL-päringus korraga mitut andmebaasi indekseerimisstruktuuri?
Mis töö juures ei meeldi? Mis sind kõige rohkem ärritab?
Milline on suurim salvestatud andmete maht andmebaasides?
Mille eest vastutab GOMAXPROCS muutuja? Mis juhtub, kui selle määrame üheks?
Kui palju meeskondi sul oli, millised projektid olid?
Kuidas andmed liiguvad kliendilt serverile HTTP-päringu ajal? Kirjeldage kõiki etappe.