Sobes.tech

Data Engineer

Postoje dve transakcije. Prva transakcija izvršava komandu. Zatim druga transakcija izvršava komandu. Nakon toga, prva transakcija nastavlja. Koja sekvenca će dovesti do međusobnog blokiranja? ```sql -- prva transakcija update accounts set balance = balance + 100 where id = ?; -- druga transakcija update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```

Junior
166

У PostgreSQL-у је потребно оптимизовати перформансе трансакција коришћењем минималног нивоа изолације, при чему: • паралелне трансакције могу да виде незавршене промене једна друге; • могуће су "мрсне читања" (dirty read). Који ниво изолације треба назначити за трансакцију како би се постигла овај циљ? мрсно читање није могуће у PostgreSQL-у repeatable read read uncommitted read committed serializable

Junior
166

Udeo saobraćaja botova Tim za sprečavanje prevara razvio je mehanizam za identifikaciju saobraćaja botova na sajtu prodavnice: kada bot uđe na sajt, u parametre njegovog URL-a dodaje se podniz "bot" (bez obzira na velika ili mala slova). Ako je user_id bar jednom bio identifikovan kao bot u decembru, uvek treba da se smatra kao bot. Istražite skup podataka sa posetama korisnika na sajt i izračunajte udeo botova u ukupnom broju korisnika u decembru 2024. godine (zaokružite na jedno decimalno mesto). Format unosa Tabela visits: - event_date (date) — datum posete - user_id (int) — jedinstveni identifikator korisnika - url (string) — link putem kojeg je izvršena poseta Podaci ne sadrže nedostajuće ili netačne vrednosti. Format izlaza Upit treba da vrati tabelu sa poljima: - share (float) — udeo botova u ukupnom broju korisnika u decembru, zaokružen na jedno decimalno mesto.

Junior
166

Kako povratiti rad sa udaljene grane ako dobijete poruku o grešci da grana nije pronađena kada pokušate `git checkout hotfix/missing-footer`?

Junior
164

Анализа активности корисника у рекламних кампања Компанија води евиденцију догађаја повезаних са рекламним кампањама. Улазне табеле су: • campaigns — листа рекламних кампања са њиховим идентификаторима и називима; • events — догађаји корисника по кампањама са информацијама о типу догађаја (на пример 'click' (клик на оглас)) и времену. Потребно је формирати извештај за сваку рекламну кампању са следећим показатељима: • Укупни број догађаја. • Број јединствених корисника који су извршили догађаје. • Време првог и последњег догађаја по кампањи. • Ранг кампање по опадајућем броју укупних догађаја. Ранг — број који се додељује свакој линији у резултујућем скупу на основу задатог редоследа података. Ако две или више линија имају исту вредност, добијају исти ранг, али следећи ранг се прескаче. У извештај укључују се само кампање које су имале догађаје: кампање без догађаја се не узимају у обзир. Коначни извештај треба прво сортирати по рангу кампање по растућем редоследу, а затим по campaign_name у азбучном реду. Формат улаза • campaign_name (string) — назив рекламне кампање • start_date (timestamp) — датум и време почетка рекламне кампање • end_date (timestamp) — датум и време краја рекламне кампање Табела events: • 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
161

Шта треба да урадите ако желите да промените грану на коју указује подмодул? - Подмодули не подржавају промену гране - Уклоните подмодул и додајте га поново са жељеном граном - Промените грану у подмодулу и извршите комит у главном репозиторијуму - Извршите git checkout на жељеној грани у подмодулу и региструјте промене у главном репозиторијуму - Извршите git submodule update --branch указујући на нову грану

Junior
158

Zašto trenutno razmatrate ponude za posao?

Junior
152

Šta se dogodilo i kako povratiti rad?

Junior
151

Табелата notifications съдържа поле status, в което стойностите са: 'sent', 'delivered', 'read'. Кой от заявките е правилен? 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
150

Молимо вас, кажите нам зашто вас занима ова позиција.

Junior
149

Koju operaciju je izvršila komanda? - Izvršila je git revert na commit sa config.yaml - Izvršila je git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Izvršila je git rebase -i uklanjanjem commitova koji sadrže izmene fajla - Izvršila je git commit --amend i git push --force - Koristila je git cherry-pick za kreiranje nove grane bez config.yaml

Junior
149

Структура таблица, показана на изображението, е създадена. Необходимо е да изпълните заявката, показана на изображението. Какъв тип join трябва да се използва вместо [...], за да се получи в резултата за записите с type = 'table_aw' да бъде попълнена колоната 'naming', а за записите с type = 'table2' — колоната 'serial_number'? create table multirelation( type varchar not null, entity_id integer not null ); create table table_aw( id integer primary key, naming varchar not null ); create table table2( id integer primary key, serial_number varchar not null ); -- структура на таблиците select m.type,m.entity_id, ta.naming, t2.serial_number from multirelation m [...] join table_aw ta on m.entity_id = ta.id and m.type='table_aw' [...] join table2 t2 on m.entity_id = t2.id and m.type='table2'; -- заявка Оставете празно inner cross right left

Junior
148

У PostgreSQL, заглавље верзије реда укључује параметар xmax. Коју улогу има у управљању трансакцијама? - За креирање јединственог идентификатора реда у табели - За проверу видљивости реда од стране других трансакција - За означавање броја трансакције која је избрисала или ажурирала ред - За блокирање реда одједном изменом од стране више трансакција - За указивање на максималну вредност која може бити записана у бројчаној колони

Junior
148

Анализа посећености фитнес клубова Радите као аналитичар у мрежи фитнес клубова. Имамо информације о посећености корисника и о купљеним чланствима. Потребно је анализирати ефикасност коришћења чланстава. Израчунајте за сваки тип чланства: • укупни број корисника који су користили овај тип чланства. Укључите само јединствене user_id; • укупни број посета са овим чланством. Укључите све посете корисника са овим чланством; • однос корисника овог чланства у процентима у укупном броју свих корисника (заокружено на један децимал). За израчунавање удела корисника, користите однос између броја корисника са овим чланством и укупног броја јединствених корисника. Свaki корисник може имати само једно чланство. Резултат сортирајте по типу чланства по абецедном реду. Формат улаза Табела memberships: • membership_id (int) — јединствени идентификатор чланства • user_id (int) — јединствени идентификатор корисника • membership_type (text) — тип чланства Табела visits:

Junior
145

Koja komanda iz korenskog direktorijuma projekta treba koristiti za ažuriranje podmodula docs/ na najnoviju verziju iz udaljenog repozitorijuma i pripremu te promene za commit? 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 "Ažuriranje" git submodule update --init docs/

Junior
145

Šta se desilo i kako vratiti posao?

Junior
141

Na kojim projektima u Scala ste ranije radili? Podelite konkretne zadatke i dostignuća u ovoj tehnologiji.

Junior
141

Brzo morate vratiti nekoliko datoteka na verziju iz poslednjeg commita, ne dirajući ostale promene. Kako postupiti? git reset --hard HEAD Obrišite i ponovo kreirajte datoteke ručno git fetch i git merge git revert HEAD git checkout HEAD^ <datoteka1> <datoteka2>

Junior
141

Šta se može reći o ispravnosti sledećeg upita? select * from sessions where ended_at is null and status != 'pending';

Junior
140

git submodule update --init

Junior
139
/3