Sobes.tech

Әртүрлі ұйымдарда сұхбаттасу процесінің қай кезеңдерінде бұл сұрақ жиі қойылады?

Intern — Junior
327

PostgreSQL дерекқорына сұраулар қалай орындалады?

Junior — Middle
322

Сіз жүзеге асырған немесе қолдаған ең ірі дерекқор жобасы қандай?

Junior — Middle
319

Әр секундта қанша жазу сұрауы қабылданды?

295

Сыртқы қызметтер мен жүйелерге арналған клиенттер қай қабатта орналасқан?

293

Хосттар туралы ақпарат бере аласыз ба? Қанша хост, қанша контейнер іске қосылады?

274

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

Junior — Middle
271

Бизнес логикасын орындайтын, сыртқы қызметке (Google) шақыратын және нәтижесін дерекқорға сақтайтын сұрау үшін архитектураны қалай ұйымдастыруға болады? Жоғарыдан төмен деңгейлерді сипаттаңыз.

268

Қызмет қандай инстанциялар/контейнерлерде жұмыс істеді?

264

Grafana-да деректерді қосу және көрсету қалай жүзеге асырылады?

Junior — Middle
258

Қандай принцип бойынша have санағышын арттырып немесе азайтуға болады?

258

Сіз жұмыс істеген ең ұзақ жобаның ұзақтығы қандай болды?

Junior — Middle
252

func maxPlaces(arr []int) int { maxDistance := 0 prev, first := -1, -1 for i := 0; i < len(arr); i++ { if arr[i] == 1 { if first == -1 { first = i maxDistance = max(maxDistance, i) } else { maxDistance = max(maxDistance, (i - prev) / 2) } prev = i } } maxDistance = max(maxDistance, len(arr) - 1 - prev) return maxDistance }

240

Қазіргі уақытта жұмыс істейсіз бе, жоқ па, және қандай форматта — кеңсе, гибрид, қашықтан?

239

L4 жүктеме теңгергіші L7 жүктеме теңгергішінен қалай ерекшеленеді?

235

Соңғы жобаны бағалау үшін қандай тиімділік көрсеткіштерін қолдандыңыз?

Junior — Middle
234

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

233

/** Бізге деректерді кейбір көзден кейбір тұтынушыға жеткізу керек. Осы кезде көз шағын топтамалармен береді (~ онша көп емес жазбалар), ал тұтынушы ірі батчтармен жұмыс істеуді тиімді көреді. Шынайы мысал - Kafka сияқты кезектерден деректерді Clickhouse базасына жеткізу. Көз: - Шартты түрде шексіз. - Көз әр шақыруда MaxItems-ден көп емес жазбаны қайтармайды. - Бір "сессия" (бір Pipe функциясының шақырылуы) ішінде көз әр шақыруда жаңа деректерді қайтарады. - Алайда, қайта іске қосқан кезде көз өткен "расталған" позициядан, cookie арқылы анықталған, бастайды. Сондықтан, әрбір cookie мәні, Next шақыруы қайтарғаннан кейін, деректер қабылдағышта сақталған соң, Commit шақыруымен нақты белгіленуі керек, және оларды қайтару тәртібімен дәл сол тәртіпте орындалуы керек. Қабылдағыш: - MaxItems-ден көп емес деректерді бір рет өңдей алады. Негізгі деңгей: Талап етілгені - func Pipe(p Producer, c Consumer) error функциясын жүзеге асыру, ол деректер көзінен оқиды, оларды MaxItems-ке дейінгі буферге топтастырады және қабылдағышқа сақтайды, сонан соң көзде прогресті бекітеді. */ const MaxItems = 9999 // Producer интерфейсі { // Next қайтаруы керек: // - өңделетін топтама // - өңдеу аяқталған соң бекіту үшін cookie // - қате // Next() (items []any, cookie int, err error) // Commit() деректер топтамасын өңделген деп белгілеу үшін // Commit() error // } // Consumer интерфейсі { // Process() топтаманы өңдеу // Process(items []any) error // } // func Pipe(p Producer, c Consumer) error { // var buf []any // var cookies []int // // for { // items, cookie, err := p.Next() // if err != nil { // return err // } // buf = append(buf, items...) // cookies = append(cookies, cookie) // // if len(buf) >= MaxItems { // if err := c.Process(buf); err != nil { // return err // } // for _, c := range cookies { // if err := p.Commit(c); err != nil { // return err // } // } // buf = buf[:0] // cookies = nil // } // } // // if len(buf) > 0 { // if err := c.Process(buf); err != nil { // return err // } // for _, c := range cookies { // if err := p.Commit(c); err != nil { // return err // } // } // } // return nil // }

232

Алгоритмнің уақыт пен жад бойынша күрделілігі қандай?

231
/11