Sobes.tech

Go тілінде метрикаларды жазу үшін қандай кітапханалар пайдаланылады?

212

Бұл код не үшін жазылған? Ол қандай бизнес-техникалық мәселені шешеді?

206

Бұл метрикалар қандай? Біз бұл метрикаларды жазу үшін қандай құралдарды қолданамыз?

188

// Мәселе 4 // «Типтік» CRUD қызметінде кейбір әдістер баяу жұмыс істей бастады және қызмет уақытша тоқтап қалды. // Қызмет келесі бөлімдерден тұрады: // * Application Load Balancer (L7) - кіріс сұрауларды қабылдау және tls-ді терминдеу // * Backend (rest, java/kotlin немесе golang) - кіріс сұрауларды өңдеу және бизнес логикасы // * Database (postgres) - sql сұрауларын сақтау және өңдеу // Мәселені дұрыс анықтау және жағдайды жақсарту үшін шешімдер әзірлеу үшін қалай әрекет ету керек?

177

// Тапсырма 3 // Бұл код қандай мәселені шешетінін сипаттаңыз // Бұл шешімнің қандай кемшіліктері бар? // Бұл кодты қалай қайта жазар едіңіз?

166

Өндірістік серверде pprof профайлеріне қалай кіруге болады?

150

Жұмыста не істедіңіз?

150

// Задача 3 // Описать какую задачу решает данный код // Какие проблемы есть в этом решении? // Как бы вы переписали этот код? var c int type Trace struct { // Some fields here } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { c++ if c == 100 { sender.Send(tr) c = 0 } }

143

Жұмыста қандай көрсеткіштерді қолдандыңыз? Практикада не қолдандыңыз? Wildberries-те?

139

Сіздің командаңызда күн сайын басымдықтар өзгеріп, жаңа шұғыл тапсырмалар пайда болады. Бұл туралы не істейсіз?

136

Өнімділік мәселелері болған кезде дерекқор мен жүктеме теңгерушісін не істеу керек?

135

PostgreSQL-те бөлуді қалай жүзеге асыратынын ішкі механизмін сипаттаңыз.

135

PostgreSQL-де қандай индекстерді қолданасыз?

132

Жалпы санағышы бар кодта қандай мәселелер бар? Оны қалай түзетуге болады?

129

pprof қолданғанда қай графикте мәселе көрдіңіз?

128

Increaser-ді қалай әмбебап етуге болады — 100 санына тәуелсіз?

128

// Мәселе 3 // Бұл код қандай тапсырманы шешетінін сипаттаңыз // Бұл шешімде қандай мәселелер бар? // Осы кодты қалай қайта жазар едіңіз? var c int var mu sync.RWMutex type Trace struct { // Мұнда кейбір өрістер } type Sender interface { Send(Trace) } func Do(sender Sender, tr Trace) { mu.Lock() defer mu.Unlock() c++ if c == 100 { go func() { sender.Send(tr) }() c = 0 } }

120

func normalize2(str []rune) []rune { result := str[:0] for val := range str { if val != ' ' { result = append(re) } } l, r := 0, 0 isSpace := false for i := 0, i < len(str); i++ { val := string(str[i]) if val == " " { if isSpace { continue } else { str[r] = val r++ isSpace = true } } else { str[r] = val r++ isSpace = false } } return str[:r] }

114

Increaser Sender-дің жүзеге асырылуы бола ала ма? Increaser логикалық тұрғыдан Sender-дан қалай ерекшеленеді?

109

Ішкі және сыртқы платформа қызметтері үшін REST және gRPC API-лерін қалай жобалап, жүзеге асырғаныңызды сипаттай аласыз ба?

108
/2