Data Engineer
Mis on CTE (Ühine Tabeli Avaldis)?
Kui sageli arvutati vitriinid? Kas see oli inkrementaalne või täielik arvutus?
Mida võib öelda järgmise päringu õigsuse kohta? select * from sessions where ended_at is null and status != 'pending';
Logistikafirma aruande Olete logistikafirma analüütik, kes jälgib laoseadete operatsioone. Te peate koostama aruande iga laosea tõhususe kohta. Iga laosea kohta arvutage: • operatsioonide koguarv (count_operations); • laoseas töödeldud kaupade koguarv (sum_quantity); • operatsiooni keskmine töötlemisaeg (avg_processing_time), arvestades ainult neid operatsioone, millel on määratud aeg (mitte NULL), ümardatuna täisarvuks; • maksimaalne ja minimaalne kaupade arv, mis on töödeldud ühes operatsioonis (max_quantity, min_quantity); • iga tüüpi operatsioonide arv («tarne», «saadetis», «ülekanne») eraldi veergudes: supply_operations, shipment_operations, transfer_operations. Filtreerige laosead, mille koguarv on suurem kui 2 ja keskmine töötlemisaeg ei ületa 60 minutit. Sorteerige tulemus laosea ID järgi kasvavas järjekorras. Sisendi formaat Operatsioonide tabel: • operation_id (int) — operatsiooni unikaalne ID • warehouse_id (int) — laosea ID • operation_type (text) — operatsiooni tüüp: «tarne», «saadetis», «ülekanne»
Antud on järjend order, mis näitab soovitud märkide järjekorda. On vaja ümber korraldada märkide järjendis unsorted_str nii, et järjekord vastaks järjendile order. Mõlemad järjendid koosnevad väikestest inglise tähestiku tähtedest, kõik märgid järjendis order on erinevad. Märkide järjekord unsorted_str-s nimetatakse järjeks, mis on kooskõlas järjega order, sellest, et kui märk x asub y-st enne orderis, siis kõik x esinemised unsorted_str-s peavad olema enne y esinemist. Lubatud on olukorrad, kus orderis ei ole märgiseid unsorted_str-st ja vastupidi. Tagastage ükskõik milline lubatud permutatsioon. unsorted_str = "abcd" order = "cba" vastus = "dcba" ("cdba", "cbda", "cbad") def CustomSort(unsorted_str: str, order: str) -> str: # kood siin
Kuidas jagada päring etappideks? Mida selleks teeme?
Kas oled töötanud akna funktsioonidega? Milliseid akna funktsioone tead?
Aruanne logistikafirmale Olete logistikafirma analüütik, kes jälgib laoseadete operatsioonide arvestust. Teil on vaja koostada aruannet iga laosea tõhususe kohta. Iga laosea kohta arvutage: • koguarv operatsioone (count_operations); • laoseal töödeldud kaupade koguarv (sum_quantity); • keskmine operatsiooni töötlemisaeg (avg_processing_time), arvestades ainult neid operatsioone, millel on määratud aeg (mitte NULL), ümardatuna täisarvuks; • maksimaalne ja minimaalne kaupade arv, töödeldud ühes operatsioonis (max_quantity, min_quantity); • iga tüüpi operatsioonide arv («tarne», «saadetis», «liikumine») eraldi veergudes: supply_operations, shipment_operations, transfer_operations. Filtreerige laosead, mille koguarv operatsioone on suurem kui 2 ja keskmine töötlemisaeg ei ületa 60 minutit. Sorteerige tulemust laosea ID järgi kasvavas järjekorras. Sisendvorming Operatsioonide tabel: • operation_id (int) — operatsiooni unikaalne identifikaator • warehouse_id (int) — laosea identifikaator • operation_type (text) — operatsiooni tüüp: «tarne», «saadetis», «liikumine» • quantity (int) — kaupade arv operatsioonis • operation_date (timestamp) — operatsiooni kuupäev ja kellaaeg • processing_time (int) — operatsiooni töötlemisaeg Veerg processing_time võib sisaldada tühje väärtusi. Väljundi formaat Küsimus peaks tagastama tabeli järgmiste väljadega järjekorras: • warehouse_id (int) — laosea unikaalne identifikaator • count_operations (int) — laoseal tehtud operatsioonide koguarv • sum_quantity (int) — laoseal töödeldud kaupade koguarv • avg_processing_time (numeric) — operatsiooni keskmine töötlemisaeg (minutites), arvestades ainult mitte-NULL väärtusi, ümardatuna täisarvuks • max_quantity (int) — ühe operatsiooni jooksul töödeldud suurim kaupade arv • min_quantity (int) — ühe operatsiooni jooksul töödeldud väikseim kaupade arv • supply_operations (int) — «tarne» operatsioonide arv • shipment_operations (int) — «saadetis» operatsioonide arv • transfer_operations (int) — «liikumine» operatsioonide arv
Kas olete töötanud andmekvaliteedi juhtumitega?
Mis teid tööl motiveerib? Loetlege oma tugevad küljed hard skills valdkonnas.
Eri spetsiaalne jada nimega even_sequence, mis genereerib ainult paarisarvud. Mida tuleks panna [...]-i asemele, et juhul, kui even_column väärtust ei ole sisestamisel määratud, võetakse väärtus even_sequence'ist? 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’
Miks ei ole soovitatav teha palju väikeseid sisestusi ClickHouse'is?
Kas oled ehitanud juhtpaneele ja töötanud andmete visualiseerimise tööriistadega (BI tööriistad)?
Mis on statistika andmebaaside haldusüsteemide ja päringute optimeerimise kontekstis?
Kuidas on seotud Spark'i ja tabelite (näiteks Iceberg) partitsioonid?
Millises meeskonnas ja millise juhtimise all tunnete end kõige mugavamalt töötades?
Mida juhtus, kui andmekvaliteedi piirang aktiveeriti: hoiatus, langus, taaskäivitamine?
Mis on indeks? Milline on klasterdatud indeksi ja mitte-klasterdatud indeksi erinevus?
## moda ülesanne # On arvude nimekiri. Kirjutage funktsioon, mis leiab selle nimekirja moda. # find_mode([1, 2, 3, 3, 4, 5]) #> 3
Mida tagastab find_mode funktsioon loendist [1, 2, 3, 3, 4, 5]? Selgita samm-sammult.