Data Engineer
Қымбат брондаулар тізімін жасаңыз Сұрақ Қалайша [телефон] күні мүшеге (немесе қонаққа) 30 доллардан асатын брондаулар тізімін жасауға болады? Қонақтардың мүшелерге қарағанда әртүрлі шығындары бар екенін ескеріңіз (тізімделген шығындар әр жарты сағаттық «уақыт» үшін), ал қонақ пайдаланушы әрқашан ID 0. Нәтижеде мекеме атауын, бір бағанға форматталған мүшенің атын және шығынды қосыңыз. Шығын бойынша кему тәртібімен сұрыптаңыз және кез келген ішкі сұрауларды қолданбаңыз.
Бұл нақты уақыт режимі, Kafka мен ClickHouse Spark арасында қалай қосылуды жүзеге асыру керек?
CI/CD-пен қалай жұмыс істедіңіз?
Өз жұмыс тәжірибеңіз туралы айтыңыз
GIL (Global Interpreter Lock) деген не және ол Python-да қалай жұмыс істейді?
records (id) кестесінде id бойынша кәдімгі B-дерекқор индексі жасалды. Неліктен келесі сұрау индекс қолданбайды? select * from records where id % 2 = 0 - id үшін GIN түріндегі индекс қажет - Индекстер WHERE ішіндегі өрнектермен жұмыс істемейді - % салыстыру операциясы, сүзгі емес - шектеу және ығысу индекс оңтайландыру үшін міндетті - Сұрау сандық өріске жүгінеді, жол емес
Airflow операторларын қайсысын қолдандыңыз? Airflow арқылы dbt-пен қалай өзара әрекеттестіңіз?
Сұраулар бойынша, деректермен не болады, соның ішінде қандай түрлерінің қосылуы — қандай қосылу түрлерін көре аламыз?
-- Бастапқы stretch кестесі -- 'val' бағанындағы NULL мәндерді әрбір 'id' тобы бойынша соңғы NULL емес мәнмен толтыру (төмен қарай толтыру) 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 -- Сол жақта бастапқы кесте, ал оң жақта алынуы керек нәтиже SELECT id, ttime, COALESCE(val, LAST_VALUE(val) OVER(PARTITION BY id ORDER BY ttime)) as val FROM stretch
Airflow-ты пайдалану туралы айтыңыз: қандай стандартты емес элементтерді қолдандыңыз?
Сіз кеңейтілген Git Flow әдістемесін қолданатын командада жұмыс істеп жатырсыз, оған қосымша бұтақ түрлері енгізілген. Сіздің жобаңыздың бұтақ құрылымы келесідей: - main (тұрақты шығарылымдар) - develop (ағымдағы даму) - release/* (шығарылымға дайындық) - hotfix/* (шұғыл түзетулер) - feature/* (жаңа функциялар) - experimental/* (тәжірибелік функциялар) - refactor/* (кодты қайта құру) Сіздің әріптесіңіз келесі әрекеттерді орындады: - refactor/db-constraints бұтағын develop-тен жасады - Оған 15 шағын коммит жасады, әрқайсысы дерекқордың бөлек бөлігін қайта құрады - refactor/db-constraints бұтағын develop-ке біріктірді: git merge --squash refactor/db-constraints - develop-те барлық өзгерістер туралы толық сипаттамасы бар жаңа коммит жасады - Біріктіруден кейін refactor/db-constraints бұтағын жойған жоқ Осындай әрекеттердің кеңейтілген Git Flow және өзгерістер тарихын басқару тұрғысынан салдары қандай?
4 адамнан тұратын командада жетекші болды ма, әлде басқа біреу басқарды ма?
Бұл рөл сіз үшін қаншалықты қызықты, аналитиктермен тығыз жұмыс істеу, олардың кодын қарау және кеңес беру сияқты?
Жарнамалық кампаниялар бойынша қолданушы әрекетін талдау Компания жарнамалық кампанияларға байланысты оқиғаларды қадағалайды. Екі кесте беріледі: • campaigns — кампаниялардың идентификаторлары мен атаулары бар тізімі; • events — кампаниялар бойынша қолданушы оқиғалары, оқиға түрі (мысалы, 'click') және уақыты туралы ақпаратпен. Есепте әр кампания үшін: • Барлық оқиғалар саны. • Оқиғаларды жасаған бірегей қолданушылар саны. • Кампания бойынша алғашқы және соңғы оқиғаның уақыты. • Жалпы оқиғалар саны бойынша кампанияның рейтингі. Рейтинг — деректер тәртібі негізінде әр жолға берілетін сан. Егер екі немесе одан көп жолда бірдей мән болса, олар бірдей рейтинг алады, бірақ келесі рейтинг өткізіледі. Тек оқиғалары бар кампаниялар есепке алынады; оқиғалары жоқ кампаниялар ескерілмейді. Жалпы есепті рейтинг бойынша өсу тәртібімен, содан кейін атауы бойынша сұрыптау керек.
Linux-та лог файлының нақты бағанында (мысалы, үшінші бағанда күн) ішкі жолды қалай табуға болады?
Greenplum OLTP ме, әлде аналитикалық сақтау ма?
Динамикалық типтеу дегеніміз не?
Қандай JOIN түрлерін білесіз? (логикалық)
dbt-те қандай инкременттік жүктеу стратегияларын қолдандыңыз?
Қандай JOIN түрлерін білесіз? 2-3 негізгі түрін айтыңыз.