Sobes.tech

Data Engineer

Ի՞նչ եք ուզում անել մեր թիմում:

Junior
01.tech
53

Ի՞նչ են մահացած տողերը տվյալների բազայում։

Senior
ИП Ганус Александр Андреевич
52

Մենք պետք է ունենանք pipeline շարժիչ՝ մեխանիզմ, որը թույլ կտա շատ արագ ստեղծել հոսքեր՝ մատակարարելով պայմանագրեր և պարամետրեր։ Ինչպե՞ս կիրականացնեիր դա վերին մակարդակում։

Middle
МВидеоМВидео
52

Ի՞նչ ֆիզիկական միացումներ կան (միացման մեթոդներ):

Middle
Леман про
52

Ի՞նչ մեթոդներ կան տվյալների ջնջման համար ClickHouse-ում։

Middle
ютэир
52

Ի՞նչ Airflow օպերատորներ եք օգտագործել: Ինչպե՞ս աշխատեցիք dbt- ի հետ Airflow-ով:

Middle
КИПР NDA(IGaming)
52

Ի՞նչ է HDFS-ում տվյալների բլոկների բաժանման իմաստը։

Middle
AstonAston
52

Հարցման առումով մենք կարող ենք տեսնել, թե ինչ է տեղի ունենում տվյալների հետ, այդ թվում՝ ինչ տեսակի միացումներ — ինչ տեսակի միացումներ կարող ենք տեսնել այնտեղ?

Middle
МВидеоМВидео
52

Օգտագործողների ակտիվության վերլուծություն գովազդային արշավներում Ընկերությունը վարում է գովազդային արշավների հետ կապված իրադարձությունների հաշվառում։ Մուտքային աղյուսակները՝ • campaigns — գովազդային արշավների ցանկ՝ նրանց նույնականացուցիչներով և անվանումներով; • events — օգտագործողների իրադարձություններ արշավների վերաբերյալ՝ իրադարձության տեսակի (օրինակ՝ 'click' (կլիկ գովազդի վրա)) և ժամանակի մասին տեղեկություններով։ Անհրաժեշտ է կազմել հաշվետվություն յուրաքանչյուր գովազդային արշավի համար՝ հետևյալ ցուցանիշներով՝ • Ընդհանուր իրադարձությունների քանակը։ • Միայն այն օգտագործողների քանակը, ովքեր կատարել են իրադարձություններ։ • Արշավի առաջին և վերջին իրադարձության ժամանակը։ • Արշավի ընդհանուր իրադարձությունների քանակով նվազման կարգով։ Ռանգը — թիվ, որը նշանակվում է յուրաքանչյուր տողի՝ տվյալների տրված կարգի հիման վրա։ Եթե երկու կամ ավելի տողեր ունեն նույն արժեքը, նրանց տրամադրվում է նույն ռանգը, բայց հաջորդ ռանգը բացակայում է։ Ներառել միայն այն արշավները, որոնց ունեցել են իրադարձություններ՝ առանց իրադարձությունների արշավները հաշվի չեն առնվում։ Վերջնական հաշվետվությունը պետք է նախ դասավորել ռանգով աճման կարգով, ապա՝ campaign_name-ի ըստ ալֆաբետային կարգի։ Մուտքային ձևաչափ • campaign_name (string) — գովազդային արշավի անվանում • start_date (timestamp) — գովազդային արշավի մեկնարկի ժամանակը • end_date (timestamp) — ավարտի ժամանակը Իրադարձությունների աղյուսակը՝ • event_id (int) — իրադարձության եզակի նույնականացուցիչ • user_id (int) — օգտագործողի եզակի նույնականացուցիչ, ով կատարել է իրադարձությունը • campaign_id (int) — գովազդային արշավի եզակի նույնականացուցիչ • event_type (string) — իրադարձության տեսակը, օրինակ՝ 'click' (կլիկ) կամ 'conversion' (փոխանցում՝ հաջողված գործողություն, օրինակ՝ գնում) • event_time (timestamp) — իրադարձության կատարման ժամանակը Տվյալները չեն պարունակում բացթողումներ կամ սխալ արժեքներ։ Ելքային ձևաչափ Հարցը պետք է վերադարձնի աղյուսակ՝ հետևյալ դաշտերով՝ • campaign_name (string) — գովազդային արշավի անվանում • total_events (int) — ընդհանուր իրադարձությունների քանակը • unique_users (int) — եզակի օգտագործողների քանակը, ովքեր կատարել են իրադարձություններ • first_event_time (timestamp) — առաջին իրադարձության ժամանակը • last_event_time (timestamp) — վերջին իրադարձության ժամանակը • campaign_rank (int) — արշավի ռանգը ընդհանուր իրադարձությունների քանակով նվազման կարգով Տվյալները դասավորել ռանգով աճման կարգով, ապա՝ campaign_name-ի ըստ ալֆաբետային կարգի։

Junior
01.tech
51

Ինչպե՞ս են տարբեր Python-ի գեներատորներն ու ցանկերը։

Middle
FOM GROUP
51

Ինչու հաջորդ հարցումը չի օգտագործի ինդեքսը, եթե տաբլո record-ների (id) վրա ստեղծված է սովորական B-Tree ինդեքս? select * from records where id % 2 = 0 - Id-ի համար անհրաժեշտ է GIN տեսակի ինդեքս - Ինդեքսները չեն աշխատում WHERE արտահայտությունների հետ - % համեմատական գործողություն է, ոչ թե ֆիլտր - limit և offset պարտադիր են ինդեքսով օպտիմիզացման համար - Հարցումը վերաբերում է թվային դաշտին, ոչ թե տեքստային

Junior
01.tech
51

Ստեղծեք թանկ ամրագրումների ցանկ Հարց Ինչպե՞ս կարող եք կազմել [հեռախոս] օրվա ամրագրումների ցանկ, որոնք կարժեն անդամի (կամ հյուրի) համար ավելի քան 30 դոլար: Հիշեք, որ հյուրերը ունեն տարբեր ծախսեր անդամներից (նշված ծախսերը ներկայացված են յուրաքանչյուր կես ժամվա 'սլոտ' համար), և օգտագործողի ID 0-ն է միշտ: Ձեր ելքում ներառեք հաստատության անունը, անդամի անունը որպես մեկ սյունակ և ծախսը: Սորտավորեք նվազման կարգով և մի օգտագործեք ենթախուզումներ։

Middle
FOM GROUP
51

-- Օրիգինալ stretch աղյուսակը -- Անհրաժեշտ է լրացնել NULL արժեքները նախորդ (ոչ NULL) արժեքով id-ի հիման վրա - ներքևի լրացում id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | NULL 1 | 16:12 | NULL 2 | 09:42 | 133 2 | 15:20 | NULL 2 | 21:33 | NULL 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | NULL 3 | 16:17 | NULL 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | NULL 4 | 16:31 | 7 4 | 17:44 | NULL id | ttime | val ---|-------|----- 1 | 07:30 | NULL 1 | 09:21 | 10 1 | 13:53 | 10 1 | 16:12 | 10 2 | 09:42 | 133 2 | 15:20 | 133 2 | 21:33 | 133 3 | 08:01 | NULL 3 | 11:41 | 8 3 | 14:23 | 8 3 | 16:17 | 8 3 | 19:54 | 2 4 | 13:10 | 312 4 | 14:42 | 312 4 | 16:31 | 7 4 | 17:44 | 7 -- SQL հարցում ցանկալի աղյուսակը ստանալու համար SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch

Junior
Яндекс
51

Տրված է զրոներ և միավորներ պարունակող տող: Պետք է գրել func() ֆունկցիան, որը կվերադարձնի միավորների հաջորդականության առավելագույն երկարությունը: Օրինակ՝ func("010111011") -> 3

Middle
КуперКупер
50

Iceberg-ը շարժական է, որը թույլ է տալիս S3-ը դարձնել տվյալների բազա, նույնիսկ պահպանում է ACID-ը: Ի՞նչ է դրա թերությունը։

Middle
МВидеоМВидео
50

Արդյո՞ք Greenplum-ում պահպանվում է ACID-ը։

Middle
МВидеоМВидео
50

Ի՞նչ տեսակի ֆիզիկական միացում կա աղյուսակների միջև (Hash Join, Merge Join, Nested Loop)։

Middle+
СБЕРСБЕР
49

Ինչպե՞ս դիտել հարցման կատարման պլանը Oracle-ում: Ինչպե՞ս է տարբեր EXPLAIN PLAN-ը և EXPLAIN ANALYZE-ը։

Middle
AstonAston
48

Ինչպե՞ս եք տեսնում ձեր մասնակցությունը նախագծում՝ հաշվի առնելով նկարագրված թիմի կազմը։

Senior
ооо УК Арбат
48

Ի՞նչ ֆիզիկական JOIN-ներ գիտեք։

Middle
СБЕРСБЕР
48
/32