Ֆիթնես ակումբների այցելությունների վերլուծություն Դուք աշխատում եք ֆիթնես ակումբների ցանցում որպես վերլուծաբան: Ձեր ձեռքին է օգտվողների այցելությունների և նրանց գնել տված անդամագրությունների մասին տեղեկատվություն: Պետք է վերլուծել անդամագրությունների արդյունավետությունը: Ամեն մի անդամագրության տեսակ համար հաշվեք՝ • այն օգտվողների ընդհանուր թիվը, ովքեր օգտագործել են այդ տեսակ անդամագրությունը: հաշվի առեք միայն եզակի user_id-ները; • այդ անդամագրությամբ կատարված ընդհանուր այցելությունների թիվը: հաշվի առեք բոլոր այցելությունները այդ անդամագրությամբ օգտվողների; • այդ անդամագրության օգտվողների բաժինը ընդհանուր օգտվողների թվից տոկոսային հարաբերությամբ (մոտեցված մինչև մեկ տասնորդական): Հաշվարկի համար օգտագործեք այդ անդամագրությամբ օգտվողների թիվը ընդհանուր եզակի օգտվողների թվին հարաբերությամբ: Յուրաքանչյուր օգտվող կարող է ունենալ միայն մեկ անդամագրություն: Արդյունքը դասավորեք անդամագրության տեսակով՝ այբբենական կարգով: Մուտքային տվյալների ձևաչափ Անդամագրությունների աղյուսակ՝ • membership_id (int) — անդամագրության եզակի նույնականացուցիչ • user_id (int) — օգտվողի եզակի նույնականացուցիչ • membership_type (text) — անդամագրության տեսակ Այլ տվյալներ բացակայում են կամ սխալ արժեքներ չեն պարունակում: Ելքային ձևաչափ Հարցը պետք է վերադարձնի աղյուսակ՝ դաշտերով՝ • membership_type (text) — անդամագրության տեսակ • users_count (int) — այդ տեսակ անդամագրություն ունեցող եզակի օգտվողների թիվ • total_visits (int) — այդ անդամագրությամբ օգտվողների ընդհանուր այցելությունների թիվ • user_share (numeric) — օգտվողների բաժինը տոկոսային հարաբերությամբ՝ այդ անդամագրությամբ ընդհանուր օգտվողների թվին հարաբերությամբ (մոտեցված մինչև մեկ տասնորդական): Արդյունքը դասավորեք անդամագրության տեսակով՝ այբբենական կարգով։
Data Engineer
Դուք ծանոթ եք Domain Driven Design (DDD) մեթոդաբանությանը՞։ Եթե այո, կիսվեք դրա կիրառման օրինակներով ձեր նախագծերում։
Ինչպե՞ս հեռացնել ենթամոդուլը և դրա հետ կապված ֆայլերը նախագծից: git submodule remove <ենթամոդուլի-ուղին> git rm --cached <ենթամոդուլի-ուղին>; հեռացնել .gitmodules բաժինը; git commit git clean --submodules <ուղի> git submodule delete <ուղի>
Որ արտահայտությունը տեղում [...] ավտոմատ կերպով կհանգեցնի ինդեքսի ստեղծմանը? Մոբայլ հարթակում կա հորիզոնական սքրոլ կոդ create table some_table( col_name [...] ); unique references other_table(col_name) not null serial integer check (col_name > 0)
Git bisect-ի աշխատանքային գործընթացում, դուք հանդիպեցիք մի կոմիտեի, որը հնարավոր չէ ստուգել անհրաժեշտ միջավայրի բացակայության պատճառով: Ինչ պետք է անել այս իրավիճակում? - Կրկնեք git bisect start հրամանը այլ hash-ներով - Դուրս թողեք այս կոմիտեն git bisect skip հրամանի միջոցով - Վերականգնեք bisect-ը git bisect reset հրամանի միջոցով - Նշեք կոմիտեն որպես լավ՝ git bisect good հրամանի միջոցով - Նշեք կոմիտեն որպես վատ՝ git bisect bad հրամանի միջոցով
Ինչու հաջորդ հարցումը չի օգտագործի ինդեքսը, եթե տաբլո record-ների (id) վրա ստեղծված է սովորական B-Tree ինդեքս? select * from records where id % 2 = 0 - Id-ի համար անհրաժեշտ է GIN տեսակի ինդեքս - Ինդեքսները չեն աշխատում WHERE արտահայտությունների հետ - % համեմատական գործողություն է, ոչ թե ֆիլտր - limit և offset պարտադիր են ինդեքսով օպտիմիզացման համար - Հարցումը վերաբերում է թվային դաշտին, ոչ թե տեքստային
Ներկայացրեք, թե ինչպես է տեխնիկապես աշխատում Git LFS-ն և ինչ առավելություններ է ներկայացնում սովորական Git-ի համեմատ մեծ ֆայլերով աշխատելիս։
Отчет для лагістычнай кампаніі Вы аналітык лагістычнай кампаніі, якая вядзе ўлік аперацый на складах. Вам неабходна скласці справаздачу па эфектыўнасці працы кожнага склада. Для кожнага склада разлічыце: • агульную колькасць аперацый (count_operations); • агульную колькасць тавараў, апрацаваных на складзе (sum_quantity); • сярэдні час апрацоўкі аперацыі (avg_processing_time), улічваючы толькі аперацыі з указаным часам (не NULL), заакруглены да цэлага ліку; • максімальную і мінімальную колькасць тавараў, апрацаваных у адной аперацыі (max_quantity, min_quantity); • колькасць аперацый кожнага тыпу («пастаўка», «адгрузка», «перамяшчэнне») у асобных калонках: supply_operations, shipment_operations, transfer_operations. Адфільтруйце склады, у якіх агульная колькасць аперацый больш за 2 і сярэдні час апрацоўкі не перавышае 60 хвілін. Адсартуйце вынік па ID склада ў парадку ўзрастання. Фармат уводных дадзеных Табліца operations: • operation_id (int) — унікальны ідэнтыфікатар аперацыі • warehouse_id (int) — ідэнтыфікатар склада • operation_type (text) — тып аперацыі: «пастаўка», «адгрузка», «перамяшчэнне» • quantity (int) — колькасць адзінак тавару ў аперацыі • operation_date (timestamp) — дата і час аперацыі • processing_time (int) — час апрацоўкі аперацыі Калонка processing_time можа ўтрымліваць пропускі. Фармат вываду Запыт павінен вярнуць табліцу з палямі ў такім парадку: • warehouse_id (int) — унікальны ідэнтыфікатар склада • count_operations (int) — агульная колькасць аперацый, выкананых на складзе • sum_quantity (int) — агульная колькасць тавараў, апрацаваных на складзе • avg_processing_time (numeric) — сярэдні час апрацоўкі аперацыі (у мінутах), улічваючы толькі аперацыі з не NULL часам, заакруглены да цэлага ліку • max_quantity (int) — максімальная колькасць тавараў, апрацаваных у адной аперацыі • min_quantity (int) — мінімальная колькасць тавараў, апрацаваных у адной аперацыі • supply_operations (int) — колькасць аперацый тыпу «пастаўка» • shipment_operations (int) — колькасць аперацый тыпу «адгрузка» • transfer_operations (int) — колькасць аперацый тыпу «перамяшчэнне»
Արտադրվել է հատուկ հաջորդականություն, որի անվանումն է even_sequence, և այն միայն զույգ թվեր է արտադրում: Ի՞նչ պետք է տեղադրել [...]-ի փոխարեն, որպեսզի, եթե even_column արժեքը նշված չէ ներմուծման ժամանակ, արժեքը վերցվի even_sequence-ից: create table some_table( even_column [...] ); integer computed as nextval('even_sequence') integer generated always as identity (start with 2 increment by 2) integer default nextval('even_sequence') integer unique default nextval('even_sequence') integer generated by even_sequence’
Ի՞նչ եք ուզում անել մեր թիմում:
Դուք ունե՞ք փորձ՝ աշխատելու Langchain գրադարանի հետ: Ի՞նչ խնդիրներ եք լուծել դրա օգնությամբ:
Որ տեսակի միացում պետք է օգտագործել, որպեսզի ընտրության մեջ ներառվեն նաև այն օգտվողները, որոնց պատվերներ չկան: Թերթիկներ՝: users(id, name) և orders(id, user_id, created_at): CROSS JOIN RIGHT JOIN INNER JOIN FULL JOIN LEFT JOIN
Ինչպես է Git Flow-ն առաջարկում ձևակերպել նոր տարբերակ ծրագրի? - Նոր issue-շախբառ ստեղծելով - Hotfix-շախբառ ստեղծելով master-ից - Անհատական release-շախբառ ստեղծելով develop-ից - Ուղիղ commit անելով master շախբառում - Ուղիղ միացնելով master շախբառը develop-ի հետ
Որ հետևյալ հայտարարությունը արտացոլում է այս գործողությունների հետևանքները ընդլայնված Git Flow-ի և փոփոխությունների պատմության կառավարման տեսանկյունից:
Դուք հայտնաբերել եք, որ Git-ի հիմնական պահոցում պատմության մեջ կան կոմիտներ, որոնք պարունակում են կարևոր գաղտնի տվյալներ: Այս տվյալները պետք է ամբողջությամբ հեռացվեն պահոցից: Նախագծեք, թե որքան ճիշտ և անվտանգ կլինի օգտագործել հետևյալ ռազմավարությունը՝ ստեղծել նոր կոմիտ, որը կհեռացնի գաղտնի տվյալները ֆայլերի ընթացիկ տարբերակից և ուղարկել այն main-ին: - Ճիշտ է, բայց ոչ օպտիմալ: Ավելի լավ է օգտագործել git revert՝ կոմիտների վերականգնման համար - Շարունակական ճիշտ է: Սա ժամանակավոր լուծում է, մինչև ավելի ռադիկալ միջոց գտնել տվյալների հեռացման համար - Սխալ և անանվտանգ: Տվյալները կհեռացվեն ընթացիկ տարբերակից, բայց կմնան հասանելի պահոցում - Սխալ: Այս կոմիտը կարող է առաջացնել նոր կոնֆլիկտներ մյուս ճյուղերի միացման ժամանակ - Ճիշտ և անվտանգ: Այս մեթոդը երաշխավորում է, որ տվյալները կհեռացվեն և այլևս չեն հայտնվի պահոցում
Դուք աշխատում եք dev ճյուղում նոր ֆունկցիայի վրա: Հանկարծակի անհրաժեշտություն է արագ անցնել main ճյուղ, որպեսզի արագ ուղղեք README.md ֆայլում տառադարձ սխալը: Ձեր մոտ կան մի քանի չկամիտ փոփոխություններ՝ src/feature.js (չկամիտ) և styles/main.css (կամիտ): Դուք ցանկանում եք ժամանակավոր պահպանել բոլոր այդ փոփոխությունները, որպեսզի հետո վերադառնաք դրանց վրա dev ճյուղում: Ինչ հրամանների հաջորդականությունը պետք է օգտագործեք դրա համար? git stash save "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash push -m "WIP on feature" && git checkout main && [fix] && git checkout dev && git stash pop git stash && git checkout main && [fix] && git checkout dev && git stash apply git add . && git stash && git checkout main && [fix] && git checkout dev && git stash drop git commit -m "Temp commit" && git checkout main && [fix] && git checkout dev && git reset HEAD^
Անվաճարկների վերլուծություն ապրանքային կատեգորիաներով մանրածախ խանութում Դուք աշխատում եք վերլուծաբանի որպես մանրածախ խանութում։ Ձեր խնդիրն է կազմել վաճառքների հաշվետվություն ապրանքային կատեգորիաներով՝ հաշվարկներով՝ • ընդհանուր վաճառված միավորների քանակը կատեգորիայի մեջ (total_units_sold); • ընդհանուր եկամուտը կատեգորիայի համար՝ հաշվի առնելով զեղչերը, որտեղ զեղչը կիրառվում է որպես unit_price × units_sold × (1 − discount/100): Եթե զեղչը բացակայում է (NULL), հաշվի առեք զեղչը որպես 0%։ Ապահովեք երկու տասնորդական նշանով հստակեցում; • միջին վաճառված միավորների քանակը մեկ վաճառքի համար (avg_units_per_sale), հստակեցված երկու տասնորդական նշանով; • զեղչով չվաճառված վաճառքների մասնաբաժինը (no_discount_share) — NULL կամ 0% զեղչով վաճառքների քանակը բաժանված ընդհանուր վաճառքների քանակին կատեգորիայի մեջ, հստակեցված երեք տասնորդական նշանով: Նախ արդյունքը դասավորեք նվազման կարգով total_revenue-ի, ապա աճման կարգով միջին միավորների քանակի (avg_units_per_sale), և վերջում՝ կատեգորիայի անվան ըստ ալֆավիթի: Ներմուծման ձևաչափ Վաճառքների աղյուսակ՝ sales: • sale_id (int) — վաճառքի եզակի նույնականացուցիչ • product_id (int) — ապրանքի նույնականացուցիչ • category (text) — ապրանքի կատեգորիա • sale_date (timestamp) — վաճառքի ամսաթիվ և ժամանակ • units_sold (int) — վաճառված միավորների քանակ • unit_price (numeric) — մեկ միավորի գին • discount (numeric) — ապրանքի զեղչը տոկոսներով, կարող է լինել NULL Զեղչի սյունակը կարող է պարունակել բացթողումներ: Ելքային ձևաչափ Հարցը պետք է վերադարձնի աղյուսակ՝ հետևյալ դաշտերով՝ • category (text) — ապրանքի կատեգորիա • total_units_sold (int) — ընդհանուր վաճառված միավորների քանակը • total_revenue (numeric) — ընդհանուր եկամուտը՝ հաշվի առնելով զեղչերը, հստակեցված երկու տասնորդական նշանով • avg_units_per_sale (numeric) — միջին միավորների քանակը մեկ պատվերի մեջ, հստակեցված երկու տասնորդական նշանով • no_discount_share (numeric) — զեղչով չվաճառված վաճառքների մասնաբաժինը, հստակեցված երեք տասնորդական նշանով Արդյունքը դասավորեք սկզբում՝ նվազման կարգով total_revenue-ի, հետո՝ աճման կարգով միջին միավորների քանակի, և վերջում՝ կատեգորիայի անվան ըստ ալֆավիթի։
Դուք ունե՞ք փորձ աշխատելու Gin վեբ ֆրեյմվորկի հետ: Խնդրում ենք մանրամասն պատմել, թե ինչ խնդիրներ եք լուծել դրա օգնությամբ։
PostgreSQL-ում, գործարքների կատարողականությունը օպտիմալացնելու համար անհրաժեշտ է նվազագույն մեկուսացման մակարդակ օգտագործել, որի դեպքում՝ • պառլելային գործարքները կարող են տեսնել միմյանց չավարտված փոփոխությունները; • հնարավոր է "աղտոտված ընթերցում" (dirty read): Որ մակարդակի մեկուսացում պետք է նշվի գործարքի համար՝ այս նպատակին հասնելու համար: աղտոտված ընթերցում հնարավոր չէ PostgreSQL-ում repeatable read read uncommitted read committed serializable
[անուն] ուղղել է տեքստում սխալներն ու ոճը՝ «Բարև! Ես [անուն], դու նախորդ անգամ խնդրեցիր անցնել Telegram»-ին, բայց հարգալից ձևով