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: } }
Golang
Иште эмне издөөдөсүң, эмне менен алектенгисиң келет?
`unpredictableFunc()` функциясын кутуш керек, ошондуктан ал тайм-аут менен иштеши керек (мисалы, 1 секунда), жана иштөө убактысын логго чыгарыш керек. // Мындан ары иштеп жаткан жана сан кайтарган функция бар. // Анын денеси өзгөртүлбөшү керек (ишенимдүү деп ойлойлу, анын ичинде тармактык суроо-талап бар деп ойлойлу). func unpredictableFunc() int64 { rnd := rand.Int63n(5000) time.Sleep(time.Duration(rnd) * time.Millisecond) return rnd } // Бул функцияны каптоо керек, ал белгилүү бир убакыт чегинде иштейт (мисалы, 1 секунда). // Эгер "узун" функция ушул убакытта аяктап калса, жакшы, натыйжаны кайтарабыз. // Эч кандай болсо, ката кайтарабыз. Бул учурда иштөө натыйжасы биз үчүн маанилүү эмес. // // Мындан тышкары, бул функция канча убакыт иштегенин өлчөө керек (жөн гана логго чыгарыңыз). // Каптоо функциясынын сапаты өзгөртүлүшү мүмкүн. func predictableFunc() int64 { return unpredictableFunc() }
Банкта кайсы командада иштедиң? Команданын милдети эмне болчу?
SSL/TLS кантип иштейт? Байланыш орнотуу процесси тууралуу сүрөттөп бериң.
Go'догу карталар кандайча түзүлгөн?
Go тилинде slice деген эмне?
Кubernetes үчүн операторлорду жаздыңбы?
context.WithTimeout ички түзүмү кандай иштейт?
Транзакциялардын изоляция деңгээлдери кандай? Кайсыларыны колдондуңуз?
Linux'ta CPU жана эс тутум жүктөмүн кантип текшерсе болот?
Код нима покажува? 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 }
**Шарт** Бир нече URL-га суроо-талаптар параллел жүргүзүлүшү керек. HTTP абал коддорун көрсөтүңүз, каталарды иштетиңиз. ```go package main func main() { urls := []string{"[link]"} // Бир нерсе жаса } ```
Горутинилер менен иштөө тутумунун жиптери кандай айырмаланат? Горутинилер эмне үчүн керек?
Маалыматтарды ысык (акыркы 3 ай) жана муздак деп бөлүүнү Elasticsearch ордуна азайтуу үчүн карап көрдүңүзбү?
PostgreSQLде жай жүргөн суроолорду кантип табуу жана аны оптималдаштыруу керек?
Жуниор, Мидл жана Синьор иштеп чыгуучуларды кантип айырмалап жатасың? Сениор деп өзүңдү кантип эсептейсиң?
resp.Body.Close() тууралуу айтып бер — эмне үчүн керек жана эмне үчүн 10 буфер койдуң?
Маалыматтар базасында канча сап бар болчу?
SQL суроосун жазгыла, ал **кардардын аты**, анын **шаары** жана **бардык заказдарынын жалпы суммасы** көрсөтүлөт. Жыйынтыкта, жалпы чыгымдары **1000**ден ашкан кардарлар гана кирет. --- **Маалымат схемасы:** 1. **`customers` таблицасы:** - `customer_id` (int) – кардардын уникалдуу идентификатору. - `customer_name` (varchar) – кардардын аты. - `city` (varchar) – жашаган шаары. 2. **`orders` таблицасы:** - `order_id` (int) – уникалдуу заказ номери. - `customer_id` (int) – сатып алган кардардын IDси. - `total_amount` (decimal) – конкреттүү заказдын суммасы.