Uzoqdagi shaxobchadan ishni qanday tiklash mumkin? `git checkout hotfix/missing-footer` komandasini bajarishda shaxobcha topilmaganligi haqida xato xabarini olsangiz.
Data Engineer
Bot trafikining ulushi Antifraud jamoasi saytida bot trafikini aniqlash mexanizmini ishlab chiqdi: bot saytga kirganida, uning URL parametrlariga "bot" (katta-kichik harf farqi qilmasdan) subqatori qo'shiladi. Agar user_id dekabr oyida kamida bir marta bot sifatida aniqlangan bo'lsa, u har doim bot sifatida hisoblanadi. Foydalanuvchilarning saytga tashriflari bo'yicha ma'lumotlar to'plamini o'rganing va 2024 yil dekabr oyida umumiy foydalanuvchilar soniga nisbatan botlarning ulushini hisoblang (bir o'nlik xonaga yaxlitlang). Kirish formati Jadval visits: - event_date (date) — tashrif sanasi - user_id (int) — foydalanuvchining yagona identifikatori - url (string) — o'tish amalga oshirilgan havola Ma'lumotlar bo'sh yoki noto'g'ri qiymatlarni o'z ichiga olmaydi. Chiqish formati So'rov quyidagi maydonlarga ega jadvalni qaytarishi kerak: - share (float) — dekabr oyida umumiy foydalanuvchilar soniga nisbatan botlarning ulushi, bir o'nlik xonaga yaxlitlangan.
Ikki tranzaksiya mavjud. Birinchi tranzaksiya buyruqni bajaradi. Keyin, ikkinchi tranzaksiya buyruqni bajaradi. So'ng, birinchi tranzaksiya davom etadi. Qaysi ketma-ketlik o'zaro blokirovkaga olib keladi? ```sql -- birinchi tranzaksiya update accounts set balance = balance + 100 where id = ?; -- ikkinchi tranzaksiya update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
PostgreSQL'da tranzaktsiyalarni optimallashtirish uchun minimal izolatsiya darajasidan foydalanish kerak, bunda: • parallel tranzaktsiyalar bir-birining tugallanmagan o'zgarishlarini ko'rishi mumkin; • "kirlashgan o'qish" (dirty read) mumkin bo'ladi. Bu maqsadga erishish uchun tranzaksiya uchun qaysi izolatsiya darajasini ko'rsatish kerak? PostgreSQL'da dirty read mumkin emas repeatable read read uncommitted read committed serializable
Rasmda ko'rsatilgan jadval tuzilmasi yaratildi. Rasmda ko'rsatilgan so'rovni bajarish kerak. [...]' o'rniga qaysi join turi ishlatilishi kerak, shunda natijada type = 'table_aw' bo'lgan yozuvlar uchun 'naming' ustuni to'ldiriladi, va type = 'table2' bo'lgan yozuvlar uchun 'serial_number' ustuni to'ldiriladi? create table multirelation( type varchar not null, entity_id integer not null ); create table table_aw( id integer primary key, naming varchar not null ); create table table2( id integer primary key, serial_number varchar not null ); -- jadval tuzilmasi select m.type,m.entity_id, ta.naming, t2.serial_number from multirelation m [...] join table_aw ta on m.entity_id = ta.id and m.type='table_aw' [...] join table2 t2 on m.entity_id = t2.id and m.type='table2'; -- so'rov Bo'sh qoldiring inner cross right left
Reklam kampaniyalari bo'yicha foydalanuvchilar faoliyatini tahlil qilish Kompaniya reklama kampaniyalari bilan bog'liq voqealarni hisobga oladi. Ikkita jadval taqdim etilgan: • campaigns — reklama kampaniyalari ro'yxati, ularning identifikatorlari va nomlari bilan; • events — kampaniyalarga oid foydalanuvchi voqealari, voqea turi (masalan, 'click' (bosish)) va vaqt bilan. Har bir kampaniya uchun quyidagi ko'rsatkichlar bilan hisobot tayyorlash kerak: • Umumiy voqealar soni. • Voqealarni amalga oshirgan yagona foydalanuvchilar soni. • Kampaniya bo'yicha birinchi va oxirgi voqea vaqti. • Kampaniya reytingi, umumiy voqealar soniga ko'ra kamayish tartibida. Reyting har bir satrga ma'lumotlar asosida berilgan raqamdir. Agar ikki yoki undan ortiq satrda bir xil qiymat bo'lsa, ular bir xil reyting oladi, ammo keyingi reyting o'tkazib yuboriladi. Hisobot faqat voqeasi bo'lgan kampaniyalarni o'z ichiga oladi: voqeasi bo'lmagan kampaniyalar hisobga olinmaydi. Yakuniy hisobot avval kampaniya reytingiga ko'ra o'sish tartibida, keyin campaign_name bo'yicha alfavit tartibida bo'lishi kerak. Kirish formati • campaign_name (string) — reklama kampaniyasining nomi • start_date (timestamp) — kampaniyaning boshlanish vaqti • end_date (timestamp) — kampaniyaning tugash vaqti Eventlar jadvali: • event_id (int) — voqea uchun yagona identifikator • user_id (int) — voqeani amalga oshirgan foydalanuvchining yagona identifikatori • campaign_id (int) — kampaniyaning yagona identifikatori • event_type (string) — voqea turi, masalan, 'click' yoki 'conversion' • event_time (timestamp) — voqea vaqti Ma'lumotlar bo'sh yoki noto'g'ri qiymatlarni o'z ichiga olmaydi. Chiqish formati So'rov quyidagi maydonlarni o'z ichiga olgan jadvalni qaytarishi kerak: • campaign_name (string) — reklama kampaniyasining nomi • total_events (int) — kampaniya bilan bog'liq umumiy voqealar soni • unique_users (int) — voqealarni amalga oshirgan yagona foydalanuvchilar soni • first_event_time (timestamp) — kampaniyaning birinchi voqeasi vaqti • last_event_time (timestamp) — kampaniyaning oxirgi voqeasi vaqti • campaign_rank (int) — umumiy voqealar soniga ko'ra kampaniya reytingi Ma'lumotlarni kampaniya reytingiga ko'ra o'sish tartibida, va keyin campaign_name bo'yicha alfavit tartibida saralang.
Agar siz submodulga ishora qiladigan filialni o'zgartirmoqchi bo'lsangiz nima qilishingiz kerak? - Submodulalar filialni o'zgartirishni qo'llab-quvvatlamaydi - Submodulni o'chirib, kerakli filial bilan qayta qo'shing - Submodulda filialni o'zgartiring va asosiy repozitoriyada commit qiling - Submodulda kerakli filialda git checkout bajaring va o'zgarishlarni asosiy repozitoriyada yozib qo'ying - git submodule update --branch buyrug'ini bajarib, yangi filialni ko'rsating
Hozirda ish takliflarini nima uchun ko'rib chiqayapsiz?
Команда қандай амал қилган? - git revert командасини config.yaml билан бўлган коммитга қўллаган - git filter-branch --index-filter "git rm --cached config.yaml" -- --all командасини ишлатган - git rebase -i командасини ишлатиб, файлга ўзгартиришлар киритган коммитларни ўчирган - git commit --amend ва git push --force командасини ишлатган - git cherry-pick командасини ишлатиб, config.yaml бўлмаган янги шоха яратган
Iltimos, bu lavozimga nima uchun qiziqishingizni aytib bering.
Nima bo'ldi va ishni qanday tiklash mumkin?
notifications jadvali status maydoni mavjud bo'lib, uning qiymatlari: 'sent', 'delivered', 'read'. Qaysi so'rov to'g'ri? select * from notifications where status like '%sent%' order by created_at desc limit 5 select * from notifications where status = 'read' order by created_at desc limit 5 select * from notifications order by status desc limit 5 select * from notifications where status not in ('sent', 'delivered') order by created_at asc limit 5 select * from notifications where status in ('sent', 'delivered') order by created_at desc limit 5
Loyihangizning asosiy papkasidan qaysi buyruq docs/ submodulini masofadagi repozitoriyadan eng so'nggi versiyasiga yangilash va bu o'zgarishni commit uchun tayyorlash uchun ishlatilishi kerak? git fetch docs/ && git merge docs/FETCH_HEAD git pull --recurse-submodules git submodule update --remote docs/ cd docs/ && git pull && cd .. && git commit -am "Yangilash" git submodule update --init docs/
Fitness klublarida tashriflar tahlili Siz fitness klublari tarmog'ida tahlilchi sifatida ishlayapsiz. Sizda foydalanuvchilarning tashriflari va ular sotib olgan a'zo bo‘lishlari haqida ma'lumotlar mavjud. A'zo bo‘lishlarning samaradorligini tahlil qilish kerak. Har bir a'zo tur uchun quyidagilarni hisoblang: • Bu turdagi a'zo bo‘lgan umumiy foydalanuvchilar soni. Faqatgina unikal user_id larni hisobga oling; • Bu a'zo bilan bog‘liq umumiy tashriflar soni. Bu a'zo bilan bog‘liq barcha tashriflarni hisobga oling; • Bu a'zo turining umumiy foydalanuvchilar soniga nisbatan foizdagi ulushi (bir o'nlik bilan yaxlitlangan). Foydalanuvchilar ulushini hisoblash uchun, bu turdagi a'zo sonini umumiy unikal foydalanuvchilar soniga bo'ling. Har bir foydalanuvchi faqat bitta a'zo bo‘lishi mumkin. Natijani a'zo turi bo‘yicha alfavit tartibida saralang. Kirish formati Jadval memberships: • membership_id (int) — a'zo identifikatori • user_id (int) — foydalanuvchi identifikatori • membership_type (text) — a'zo turi Jadval visits:
Bir nechta faylni tezda oxirgi commit versiyasiga tezda boshqa o'zgartirishlarni ta'sir qilmasdan qanday qilib tezda qaytarish mumkin? git reset --hard HEAD Fayllarni o'chirib, yangi qilib yarating git fetch va git merge git revert HEAD git checkout HEAD^ <fayl1> <fayl2>
PostgreSQLda, satr satrining versiya sarlavhasi xmax parametrini o'z ichiga oladi. Bu tranzaktsiyalarni boshqarishda qanday rol o'ynaydi? - Jadvalda noyob satr identifikatorini yaratish uchun - Boshqa tranzaktsiyalar tomonidan satrning ko'rinishini tekshirish uchun - Satrni o'chirgan yoki yangilagan tranzaktsiya raqamini ko'rsatish uchun - Bir nechta tranzaktsiyalar tomonidan bir vaqtning o'zida o'zgartirishlardan satrni bloklash uchun - Raqamli ustunda yozilishi mumkin bo'lgan maksimal qiymatni ko'rsatish uchun
Avvalgi Scala loyihalarida qanday ishlagansiz? Bu texnologiyada aniq vazifalar va yutuqlar bilan bo'lishing.
Nima bo'ldi va ishni qanday tiklash mumkin?
Quyidagi so'rovning to'g'riligi haqida nima deyish mumkin? select * from sessions where ended_at is null and status != 'pending';
Logistika korxonasiga hisobot Siz logistika korxonasida omborlardagi operatsiyalarni hisobga oladigan tahlilchisiz. Har bir omborning samaradorligi haqida hisobot tayyorlashingiz kerak. Har bir ombor uchun hisoblang: • umumiy operatsiyalar soni (count_operations); • omborda ishlov berilgan umumiy mahsulotlar soni (sum_quantity); • faqat belgilangan vaqt bilan (NULL bo'lmagan) operatsiyalarni hisobga olgan holda, o'rtacha ishlov berish vaqti (avg_processing_time), butun son bilan yaxlitlangan; • bir operatsiyada ishlov berilgan maksimal va minimal mahsulotlar soni (max_quantity, min_quantity); • har bir turdagi operatsiyalar soni («yetkazib berish», «jo'natish», «otransfer») alohida ustunlarda: supply_operations, shipment_operations, transfer_operations. Umumiy operatsiyalar soni 2 dan ortiq bo'lgan va o'rtacha ishlov berish vaqti 60 daqiqadan oshmaydigan omborlarni filtrlash. Natijani ombor ID bo'yicha o'sish tartibida saralash. Kiritish formati Operationlar jadvali: • operation_id (int) — operatsiya identifikatori • warehouse_id (int) — ombor identifikatori • operation_type (text) — operatsiya turi: «yetkazib berish», «jo'natish», «otransfer»