Sobes.tech

Golang

func Copy(src io.Reader, dst io.Writer) error { //... } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) (statusCh, error) { //... go func() { statusCh }() } func Read() { select { case status := <-statusCh: } } type Stat struct { status string err error } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) go func() { statusCh{ } } return statusCh } func Read() { select { case status := <-statusCh: } } import gocopy s := file.Open() err := gocopy.Copy(s, d) func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) buf := make([]byte, 1024) var total int64 go func() { for { n, err := src.Read(buf) if n > 0 { writen, err := dst.Write(buf[:n]) total += int64(writen) if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } if err == io.EOF { statusCh <- Stat{ bCopy: total, status: "done", err: nil, } return } if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } } return statusCh } func Read() { select { case status := <-statusCh: if status.err != nil { return } } } func Copy(src io.Reader, dst io.Writer) chan Stat { //... statusCh := make(chan Stat{}) buf := make([]byte, 1024) var total int64 go func() { for { select { case : n, err := src.Read(buf) if n > 0 { writen, err := dst.Write(buf[:n]) total += int64(writen) if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } } if err == io.EOF { statusCh <- Stat{ bCopy: total, status: "done", err: nil, } return } if err != nil { statusCh <- Stat{ status: "done with err", err: err, } return } default: statusCh <- Stat{ bCopy: total, status: "pending", err: nil, } } } } return statusCh } func Read() { select { case status := <-statusCh: if status.err != nil { return } } }

358

Ko meklē darba vietā, ar ko vēlies nodarboties?

314

Ir ir funkcija `unpredictableFunc()`, kuru nepieciešams ietīt tā, lai tā darbotos ar laika ierobežojumu (piemēram, 1 sekundi) un reģistrētu tās izpildes laiku. // Ir funkcija, kas darbojas bezgalīgi ilgi un atgriež skaitli. // Tās ķermeni nevar mainīt (iedomājieties, ka iekšā ir tīkla pieprasījums). func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Jāmaina ietverošā funkcija, kas darbosies ar noteiktu laika limitu (piemēram, 1 sekundi). // Ja "garā" funkcija pabeidzas šajā laikā, tas ir lieliski, atgriežam rezultātu. // Ja nē, atgriežam kļūdu. Rezultāts šajā gadījumā nav svarīgs. // // Turklāt, jāizmēra, cik ilgi šī funkcija darbojās (vienkārši izvadiet logā). // Ietverošās funkcijas paraksts var tikt mainīts. func predictableFunc() int64 { return unpredictableFunc() }

297

Kurā komandā tu strādāji bankā? Kāds bija komandas uzdevums?

282

Kā darbojas SSL/TLS? Aprakstiet savienojuma izveides procesu.

264

Vai jūs rakstījāt operatorus Kubernetes?

240

Kā iekšēji darbojas context.WithTimeout?

231

Vai ir apsvērta datu sadalīšana karstajos (pēdējie 3 mēneši) un aukstajos, lai samazinātu slodzi vietā Elasticsearch?

223

Kas ir transakciju izolācijas līmeņi? Kurus jūs izmantojāt?

220

Kāds kods parādīsies? package main import "fmt" func main() { nums := make([]int, 1, 2) fmt.Println(nums) // appendSlice(nums, 1024) fmt.Println(nums) // mutateSlice(nums, 1, 512) fmt.Println(nums) // } func appendSlice(sl []int, val int) { sl = append(sl, val) } func mutateSlice(sl []int, idx, val int) { sl[idx] = val }

218

Kā pārbaudīt CPU un atmiņas slodzi Linux?

216

**Nosacījums** Pieprasījumi uz vairākām URL jāveic paralēli. Rādīt HTTP statusus, apstrādāt kļūdas. ```go package main func main() { urls := []string{"[link]"} // Darīt kaut ko } ```

214

Kā atrast lēnu vaicājumu PostgreSQL un kā to optimizēt?

212

Kā atšķiras goroutines no OS pavedieniem? Kam tās ir nepieciešamas?

211

Kā atšķirīsi Junior, Middle un Senior izstrādātājus? Saskaņā ar kādiem kritērijiem uzskatāt sevi par Senior?

206

Pastāsti par resp.Body.Close() — kāpēc tas ir nepieciešams un kāpēc iestatīji buferi uz 10?

202

Kas ir indeksi datu bāzēs? Kādi ir indeksu veidi?

201

Uzrakstiet SQL vaicājumu, kas parādīs **klienta vārdu**, **pilsētu** un **kopējo visu viņa pasūtījumu summu**. Galīgajā rezultātā iekļauti tikai tie klienti, kuru kopējās izdevumi pārsniedz **1000** vienības. --- **Datu shēma:** 1. **`customers` tabula:** - `customer_id` (int) – unikāls klienta identifikators. - `customer_name` (varchar) – klienta vārds. - `city` (varchar) – dzīvesvietas pilsēta. 2. **`orders` tabula:** - `order_id` (int) – unikāls pasūtījuma numurs. - `customer_id` (int) – klienta ID, kurš veica pirkumu. - `total_amount` (decimal) – konkrētā pasūtījuma summa.

198
/3