Sobes.tech

Data Engineer

Kas teil on kogemusi Gin veebiraamistikuga? Rääkige meile üksikasjalikumalt, milliseid ülesandeid te selle abil lahendasite.

Junior
173

Kuidas taastada tööd kaugharust, kui proovides `git checkout hotfix/missing-footer` saate veateate, et haru ei leitud?

Junior
169

Bottide osakaal Antifraudi meeskond töötas välja mehhanismi, kuidas tuvastada poodide veebisaidil botide liiklust: kui bot siseneb saidile, lisatakse selle URL-i parameetritele alamsõne "bot" (suurtähtede ja väiketähtede erinevust arvestamata). Kui user_id on vähemalt korra detsembris määratletud botina, tuleb seda alati pidada botiks. Uurige kasutajate külastuste andmekogumit veebisaidil ja arvutage botide osakaal kogu kasutajate arvust detsembris 2024 (ümardage ühe kümnendkohani). Sissepääsuvormaat Tabel visits: - event_date (date) — külastuse kuupäev - user_id (int) — unikaalne kasutaja identifikaator - url (string) — link, mille kaudu külastus toimus Andmed ei sisalda puuduvaid või valesid väärtusi. Väljundvorming Päring peaks tagastama tabeli järgmiste väljadega: - share (float) — botide osakaal kogu kasutajate arvust detsembris, ümaratuna ühe kümnendkohani.

Junior
169

On kahel tehingul on. Esimene tehing täidab käsku. Seejärel täidab teine tehing käsku. Seejärel jätkub esimene tehing. Milline järjestus viib vastastikuse lukustamiseni? ```sql -- esimene tehing update accounts set balance = balance + 100 where id = ?; -- teine tehing update accounts set balance = -50 where id = ?; update accounts set balance = +200 where id = ?; ```

Junior
169

PostgreSQL-is on vaja optimeerida tehingute jõudlust minimaalise isolatsioonitasemega, kus: • paralleelsed tehingud näevad üksteise lõpetamata muudatusi; • on võimalik "mustad lugemised" (dirty read). Millist isolatsioonitaset tuleb tehingu jaoks määrata, et saavutada see eesmärk? must lugemine ei ole PostgreSQL-is võimalik repeatable read read uncommitted read committed serializable

Junior
166

Kasutajategevuse analüüs reklaamikampaaniates Ettevõte jälgib sündmusi, mis on seotud reklaamikampaaniatega. Sisendtabelid: • campaigns — reklaamikampaaniate nimekiri nende identifikaatoritega ja nimedega; • events — kasutajate sündmused kampaaniate kaupa, koos teabe ja tüübi (näiteks 'click' (klõps reklaamil)) ning aja kohta. Vajalik on koostada aruanne iga reklaamikampaania kohta järgmiste näitajate põhjal: • Üldine sündmuste arv. • Unikaalsete kasutajate arv, kes on sündmusi teinud. • Kampaania esimese ja viimase sündmuse aeg. • Kampaania järjestus üldise sündmuste arvu järgi kahanevas järjekorras. Ränd — number, mis antakse igale reale tulemuste kogumis vastavalt määratud andmetele. Kui kaks või rohkem rida on sama väärtusega, saavad nad sama ränga, kuid järgmine ränga jäetakse vahele. Arvesse võetakse ainult need kampaaniad, millel olid sündmused: kampaaniaid ilma sündmusteta ei arvestata. Lõplik aruanne peab olema esmalt sorteeritud rändi järgi kahanevas järjekorras ning seejärel campaign_name alfabetaalselt. Sisendvorming • campaign_name (string) — reklaamikampaania nimi • start_date (timestamp) — kampaania alguskuupäev ja kellaaeg • end_date (timestamp) — kampaania lõppkuupäev ja kellaaeg Sündmuste tabel: • event_id (int) — unikaalne sündmuse identifikaator • user_id (int) — unikaalne kasutaja identifikaator, kes tegi sündmuse • campaign_id (int) — reklaamikampaania unikaalne identifikaator • event_type (string) — sündmuse tüüp, näiteks 'click' (klõps) või 'conversion' (konversioon — edukas tegevus, näiteks ost) • event_time (timestamp) — sündmuse toimumise aeg Andmed ei sisalda tühje või valesid väärtusi. Väljundi formaat Päring peaks tagastama tabeli järgmiste väljadega: • campaign_name (string) — reklaamikampaania nimi • total_events (int) — üldine sündmuste arv • unique_users (int) — unikaalsete kasutajate arv, kes tegi sündmusi • first_event_time (timestamp) — esimese sündmuse aeg • last_event_time (timestamp) — viimase sündmuse aeg • campaign_rank (int) — kampaania järjestus üldise sündmuste arvu järgi kahanevas järjekorras Andmed tuleb sorteerida rändi järgi kahanevas järjekorras ning seejärel campaign_name alfabetaalselt.

Junior
166

Millise operatsiooni käivitas käsk? - Käivitas git revert commit'i peal, kus oli config.yaml - Käivitas git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Käivitas git rebase -i, kustutades commit'id, mis sisaldasid faili muudatusi - Käivitas git commit --amend ja git push --force - Kasutas git cherry-pick, et luua uus haru ilma config.yaml

Junior
166

Kui soovite muuta haru, millele submodul viitab, mida peate tegema? - Submodulid ei toeta haru muutmist - Kustutage submodul ja lisage see uuesti soovitud haruga - Muutke haru submodulis ja tehke muudatused põhivarast - Käivitage git checkout soovitud harul submodulis ja registreerige muudatused põhivarast - Käivitage git submodule update --branch, määrates uue haru

Junior
163

Miks te praegu tööpakkumisi kaalute?

Junior
160

Füüsilise aktiivsuse klubide külastuste analüüs Te töötate fitness klubide võrgustikus analüütikuna. Teil on teavet kasutajate külastuste ja nende ostetud liikmelisuste kohta. On vaja analüüsida liikmelisuste tõhusust. Arvutage iga liikmelisuse tüübi kohta: • selle liikmelisuse kasutavate kasutajate koguarv. Arvesse võtke ainult unikaalseid user_id-sid; • selle liikmelisusega tehtud külastuste koguarv. Arvesse võtke kõiki selle liikmelisusega kasutajate külastusi; • selle liikmelisuse kasutajate osakaal kogu kasutajate arvust protsentides (ühe kümnendiku täpsusega). Kasutajate osakaalu arvutamiseks kasutage suhteid selle liikmelisusega kasutajate arv ja kõigi unikaalsete kasutajate arv. Iga kasutaja võib omada ainult ühte liikmelisust. Tulemused sorteerige liikmelisuse tüübi järgi tähestikulises järjekorras. Sisendvorming Tabel memberships: • membership_id (int) — liikmelisuse unikaalne ID • user_id (int) — kasutaja unikaalne ID • membership_type (text) — liikmelisuse tüüp Tabel visits:

Junior
156

Palun rääkige meile, miks see töökoht teid huvitab.

Junior
156

Mis juhtus ja kuidas töö taastada?

Junior
156

Notifications tabelis on status väli, mille väärtused on: 'sent', 'delivered', 'read'. Milline päring on õige? select * from notifications where status like '%sent%' order by created_at desc limit 5 select * from notifications where status = 'read' order by created_at desc limit 5 select * from notifications order by status desc limit 5 select * from notifications where status not in ('sent', 'delivered') order by created_at asc limit 5 select * from notifications where status in ('sent', 'delivered') order by created_at desc limit 5

Junior
155

Milline käsk projektijuurekataloogist tuleks kasutada, et uuendada submoduuli docs/ viimasele versioonile kaugdepost ja valmistada see muudatus ette commitiks? git fetch docs/ && git merge docs/FETCH_HEAD git pull --recurse-submodules git submodule update --remote docs/ cd docs/ && git pull && cd .. && git commit -am "Uuendus"

Junior
155

PostgreSQL-s, rea kirje pealkiri sisaldab parameetrit xmax. Millist rolli see mängib tehingute haldamisel? - Unikaalse rea identifikaatori loomisel tabelis - Rea nähtavuse kontrollimisel teiste tehingute poolt - Tehingu numbrile viitamisel, mis rea kustutas või uuendas - Rea blokeerimisel mitme tehingu samaaegsete muudatuste eest - Maksimaalse väärtuse näitamisel, mida saab kirjutada numbrilisse veergu

Junior
152

Peate kiiresti taastama mitu faili viimase commit versioonile, mitte mõjutades teisi muudatusi. Kuidas seda teha? git reset --hard HEAD Kustutage ja looge failid käsitsi uuesti git fetch ja git merge git revert HEAD git checkout HEAD^ <fail1> <fail2>

Junior
152

Millistes Scala projektides olete varem töötanud? Jagage konkreetseid ülesandeid ja saavutusi selles tehnoloogias.

Junior
149

Teil on kaks seotud tabelit: first_table ja second_table. Sa soovid täita käsku TRUNCATE TABLE second_table CASCADE;, et kustutada kõik read second_table-st ja kõik sellest sõltuvad andmed. Millised võivad olla selle käsu täitmise tagajärjed? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - second_table_id_seq järjepidevus taastatakse algväärtusele. - Kõik first_table kirjed, mis on seotud välise võtmega second_table-ga, kustutatakse. - Eksisteerivad indeksid second_table jaoks kustutatakse ja automaatselt uuesti luuakse. - Järgmistes sisestustes second_table-s võib vaikimisi väärtus id-st alata vale väärtusega. - Tekib viga, kuna käsk CASCADE on keelatud välise võtmega tabelite jaoks.

Junior
146

Mis juhtus ja kuidas töö tagasi saada?

Junior
146

Mida võib öelda järgmise päringu õigsuse kohta? select * from sessions where ended_at is null and status != 'pending';

Junior
145
/3