Data Engineer
Чӣ тавр бо CI/CD кор кардед?
Фарқи байни WHERE ва HAVING чист?
Чӣ гуна мебинед, ки иштироки шумо дар лоиҳа бо дарназардошти таркиби дастаи тавсифшуда чӣ гуна аст?
GIL (Global Interpreter Lock) чист ва чӣ гуна дар Python кор мекунад?
Пайдаланушылардың белсенділігін талдау жарнамалық кампанияларда Компания жарнамалық кампаниялармен байланысты оқиғаларды есепке алады. Кіріс кестелері: • 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 бойынша алфавиттік тәртіпте сұрыптаңыз.
Оё дар зерпурсӣи зерин истифодаи индексро намекунад агар дар ҷадвали records (id) индексии оддӣ B-Tree дар id сохта шуда бошад? select * from records where id % 2 = 0 - Барои id, индекс GIN лозим аст - Индексон дар боёнҳои WHERE кор намекунанд - % як амали муқоиса аст, на филтр - limit ва offset барои оптимизатсия бо индекс ҳатмӣ мебошанд - Суроға ба майдони рақамӣ, на матнӣ меравад
Дар бораи дархост, мо метавонем бубинем, ки бо маълумотҳо чӣ мешавад, кадом намудҳои пайвастҳо — кадом намудҳои пайвастҳоро мо метавонем дар он ҷо бубинем?
-- Оригинална таблица 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
Дар бораи истифодаи Airflow нақл кунед: кадом унсурҳои ғайриоддӣ истифода бурдед
Кадом аз изҳороти зерин натиҷаҳои чунин амалҳоро аз нуқтаи назари Git Flow васеъшуда ва идоракунии таърихи тағирот инъикос мекунад?
Рӯйхати бронкунии гаронарзишро таҳия кунед Пурсиш Чӣ гуна метавонед рӯйхати бронкуниҳоро дар рӯзи [телефон] таҳия кунед, ки барои узв (ё меҳмон) бештар аз 30 доллар арзиш доранд? Дар хотир дошта бошед, ки меҳмонон хароҷоти гуногун доранд нисбат ба узвон (хароҷотҳои зерин барои ҳар ним соат 'слайд' нишон дода шудаанд), ва корбари меҳмон ҳамеша ID 0 аст. Натиҷаи худро бо номи муассиса, номи узв, ки ҳамчун як сутун формат шудааст, ва хароҷот дохил кунед. Ба хароҷот ба тартиби коҳишёбанда ҷадвал кунед ва аз зерпурсишҳо истифода набаред.
Дар бораи таҷрибаи кории худ нақл кунед
Стратегияҳои боркунии инфиродӣ дар dbt-ро чӣ гуна истифода мебурдед?
Тавсия медиҳам, ки як DAG-и содда барои Apache Airflow нависед
Кадом намудҳои JOIN-ро медонӣ? 2-3 асосиро шарҳ деҳ.
Оё дар гурӯҳи 4-нафарӣ роҳбар ё касе дигар онро роҳбарӣ мекард?
Вазифаи тарҳрезии меъмории микросервисҳо: чӣ гуна додан маълумот барои ҷадвали фармоишҳо (маҳсулотҳо, нархҳо, фармоишҳо) дар пешбарӣ вақте ки се микросервиси алоҳида мавҷуд аст?
Тавсифи кардани динамикӣ чист?
Кадом намудҳои JOIN-ро медонӣ? (лоғикӣ)
Кадом JOINҳои физикӣ мешиносӣ?