Sobes.tech

Терезе барлық қажетті таңбаларды қамтитынын қалай тексеруге болады?

139

Пайдаланушыларға офлайн режимде жіберілген хабарламалар қалай өңделеді?

139

Қайда тұрасың, қайдасың?

139

Соңғы долбоорлор жана колдонулган технологиялык стек жөнүндө бизге айтып бериңиз.

138

/* Бізге деректерді кейбір көзден кейбір тұтынушыға беру керек. Осы кезде көз шағын топтамалармен береді (~ онша көп емес жазбалар), ал тұтынушы үлкен топтамалармен жұмыс істеуді тиімдірек көреді (~мыңдаған жазбалар). Шынайы мысал - Kafka сияқты кезектерден деректерді Clickhouse базасына жеткізу. Көз: - Шартты түрде шексіз. - Көз әр шақыруда MaxItems-ден көп емес жазбаны қайтармайды. - Бір "сессия" (бір Pipe функциясының шақырылуы) ішінде көз әр шақыруда жаңа деректерді қайтарады. - Алайда, қайта іске қосқан кезде көз өткен "растау" позициясынан бастайды, ол cookie арқылы анықталады. Сондықтан, әрбір cookie мәні, Next шақыруы қайтарғаннан кейін, деректер қабылдағышта сақталғаннан кейін, Commit шақыруымен нақты белгіленуі керек, және оларды қайтару тәртібімен дәл сол тәртіпте орындалуы керек. Қабылдағыш: - Бір ретте MaxItems-ден көп өңдей алмайды. Талап - func Pipe(p Producer, c Consumer) error функциясын жүзеге асыру, ол көзден деректерді оқиды, оларды MaxItems-ке дейінгі буферге топтастырады және қабылдағышқа сақтайды, одан кейін көзде прогресті бекітеді. */ const MaxItems = 9999 type Producer interface { // Next қайтару: // - өңделетін топтама // - өңдеу аяқталғаннан кейін Commit үшін cookie // - қате Next() (items []any, cookie int, err error) // Commit деректер топтамасын өңделген деп белгілеу үшін пайдаланылады Commit(cookie int) error } type Consumer interface { Process(items []any) error } func Pipe(p Producer, c Consumer) error { // TODO }

137

""" Кинотеатртағы орындар бір қатарда орналасқан. Жаңа келген көрермен орын таңдайды, өзін басқа көрермендерден мүмкіндігінше алыс отырғызу үшін. Яғни, ол отырған орын мен ең жақын көрермен арасындағы қашықтық ең үлкен болуы керек. Кез келген қатарда бос орындар бар екені және кемінде бір көрермен отырғаны кепілденген. Берілген орындар қатарынан (нөлдер мен бірліктерден тұратын массив) ең жақын көрерменге дейінгі қашықтықты қайтаратын функция жазыңыз. [1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0, 0, 1, 0, 0, 0, 1] -> 2 [1, 0, 1, 0] -> 1 """ func maxPlaces(arr []int) int { }

132

4 - кіріс тапсырмаларды тез қабылдау, 5 - сұрау бойынша тапсырманың нәтижесін қайтару 6 - нәтиже болмаса, тиісті мәртебені қайтару /* Процессор - ұзақ уақытты және ресурсты көп талап ететін операцияны орындайтын қызмет. Ол бұрыннан жүзеге асырылған Оның қайтарған қателері тек қате кіріс деректерімен байланысты, тұрақты және оларды қайта сұрау мағынасыз */ type Processor interface { Process([]byte) ([]byte, error) } /* Біз бірегей идентификаторлар (мысалы, UUID) генераторымыз бар деп есептейміз. Генератор қақтығыстар болмайтынын кепілдік береді */ type ID string // func NewID() ID /* Жоспарлаушы клиенттерден тапсырмаларды қабылдайды, оларды кезекке қояды және өңдеуді бастайды. Бір уақытта 'threads' әдістерінен көп емес жұмыс істейтініне кепілдік береді Тапсырманың мәртебесін тексеру және нәтижесін алу мүмкіндігін береді өзінің қоғамдық интерфейс әдістерін блоктамайды */ type Scheduler struct { processor Processor } func NewScheduler( prc Processor, threads int, ) *Scheduler { // инициализация логикасы return &Scheduler{ processor: prc, } } func (s *Scheduler) Queue(request []byte) ID { // жүзеге асыру return "" }

132

maxSegment тапсырмасын шешу алгоритмін сипаттаңыз.

131

Ақырында не болады — буферді қалай жинаймыз?

131

Жалақы күтүүлөрүңүз кандай?

129

Көп ағынды немесе асинхронды операциялармен бағдарламалар жазу тәжірибеңіз бар ма?

128

Микросервистік архитектурада қандай антипаттерндерді білесіз?

127

Мысалға қарасақ: first=[1,1,2], second=[1,2]. Сіздің алгоритм қандай нәтиже беруі керек және ол қайталанатын мәндермен дұрыс жұмыс істей ме?

125

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

125

[аты] сұрады: элементтің позициясы X-тан аз болғанда, ол қандай болады?

124

Жүктеме теңгеруші қателермен жауап беретінін түсінуі керек, және белгілі бір уақыт ішінде шекті асып кеткен жағдайда оны теңгерімнен шығару керек (Circuit Breaker).

124

Қандай дерекқорлар немесе басқа деректер қоймаларымен жұмыс істедіңіз? Жазу және оқу үшін RPS (сұраулар саны секундқа) қандай?

122

Карьераңызда жетекшілік міндеттерін атқардыңыз ба?

122

Тарату жүйелерін дамыту және қолдау бойынша тәжірибеңіз бар ма?

120

[қала]да қазіргі уақытта тұрып жатқаныңыз және офисте шығумен гибридті форматта жұмыс істеу сіз үшін ыңғайлы ма?

120
/11