Hai esperienza con il framework web Gin? Raccontaci più nel dettaglio quali compiti hai risolto con esso.
Data Engineer
Esistono due transazioni. Prima, la prima transazione esegue un comando. Poi, la seconda transazione esegue un comando. Successivamente, la prima transazione continua. Quale sequenza porterà a un deadlock? ```sql -- prima transazione update accounts set balance = balance + 100 where id = ?; -- seconda transazione update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```
In PostgreSQL, è necessario ottimizzare le prestazioni delle transazioni con un livello di isolamento minimo, in cui: • le transazioni parallele possono vedere modifiche non finalizzate tra loro; • sono possibili "dirty read" (letture sporche). Quale livello di isolamento deve essere specificato per la transazione per raggiungere questo obiettivo? dirty read non è possibile in PostgreSQL repeatable read read uncommitted read committed serializable
Come recuperare il lavoro da un branch remoto se ricevi un messaggio di errore che dice che il branch non è trovato quando provi a fare `git checkout hotfix/missing-footer`?
Analisi dell’attività degli utenti nelle campagne pubblicitarie L’azienda tiene traccia degli eventi relativi alle campagne pubblicitarie. Sono fornite due tabelle: • campaigns — elenco delle campagne pubblicitarie con i loro identificativi e nomi; • events — eventi degli utenti per campagna con informazioni sul tipo di evento (ad esempio 'click' (clic)) e sul tempo. È necessario creare un rapporto per ogni campagna con i seguenti indicatori: • Numero totale di eventi. • Numero di utenti unici che hanno effettuato eventi. • Ora del primo e dell’ultimo evento per campagna. • Classifica della campagna in ordine decrescente per numero totale di eventi. La classifica è un numero assegnato a ogni riga nel set di risultati basato sull’ordine dei dati. Se due o più righe hanno lo stesso valore, ricevono la stessa classifica, ma la classifica successiva viene saltata. Il rapporto deve includere solo le campagne che hanno avuto eventi: le campagne senza eventi non vengono considerate. Il rapporto finale deve essere ordinato prima per la classifica della campagna in ordine crescente, e poi per campaign_name in ordine alfabetico. Formato di input • campaign_name (string) — nome della campagna pubblicitaria • start_date (timestamp) — data e ora di inizio della campagna • end_date (timestamp) — data di fine della campagna Tabella events: • event_id (int) — identificatore unico dell’evento • user_id (int) — identificatore unico dell’utente che ha effettuato l’evento • campaign_id (int) — identificatore unico della campagna • event_type (string) — tipo di evento, ad esempio 'click' o 'conversion' • event_time (timestamp) — data e ora dell’evento I dati non contengono valori mancanti o incorretti. Formato di output La query deve restituire una tabella con i campi in questo ordine: • campaign_name (string) — nome della campagna pubblicitaria • total_events (int) — numero totale di eventi relativi alla campagna • unique_users (int) — numero di utenti unici che hanno effettuato eventi • first_event_time (timestamp) — data e ora del primo evento della campagna • last_event_time (timestamp) — data e ora dell’ultimo evento della campagna • campaign_rank (int) — classifica della campagna in ordine decrescente del numero totale di eventi Ordinare i dati per il rango della campagna in ordine crescente, e poi per campaign_name in ordine alfabetico.
Cosa bisogna fare se si vuole cambiare il ramo a cui punta un submodule? - I submodule non supportano il cambio di ramo - Eliminare il submodule e aggiungerlo di nuovo con il ramo desiderato - Cambiare il ramo nel submodule e fare un commit nel repository principale - Eseguire git checkout sul ramo desiderato nel submodule e registrare le modifiche nel repository principale - Eseguire git submodule update --branch specificando il nuova ramo
Perché stai considerando offerte di lavoro in questo momento?
Quale operazione ha eseguito il comando? - Ha eseguito git revert sul commit con config.yaml - Ha eseguito git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Ha eseguito git rebase -i eliminando i commit che contenevano modifiche al file - Ha eseguito git commit --amend e git push --force - Ha usato git cherry-pick per creare un nuovo branch senza config.yaml
È stata creata la struttura delle tabelle indicata nell'immagine. È necessario eseguire la query indicata nell'immagine. Quale tipo di join bisogna usare al posto di [...], affinché nel risultato, le righe con type = 'table_aw' abbiano la colonna 'naming' riempita, e per le righe con type = 'table2' abbiano la colonna '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 ); -- struttura delle tabelle 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'; -- query Lasciare vuoto inner cross right left
Cosa è successo e come recuperare il lavoro?
Per favore, ci dica perché è interessato a questa posizione.
La tabella notifications contiene un campo status, con valori: 'sent', 'delivered', 'read'. Quale delle query è corretta? 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
In PostgreSQL, l'intestazione di versione della riga include il parametro xmax. Qual è il suo ruolo nella gestione delle transazioni? - Per creare un identificatore univoco della riga nella tabella - Per verificare la visibilità della riga da parte di altre transazioni - Per indicare il numero di transazione che ha eliminato o aggiornato la riga - Per bloccare la riga contro modifiche simultanee da parte di più transazioni - Per indicare il valore massimo che può essere scritto in una colonna numerica
Quale comando dalla cartella principale del progetto dovrebbe essere usato per aggiornare il submodule docs/ all'ultima versione del repository remoto e preparare questa modifica per il 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 "Aggiornamento" git submodule update --init docs/
Devi ripristinare rapidamente più file alla versione dell'ultimo commit senza influenzare le altre modifiche. Come procedere? git reset --hard HEAD Elimina e ricrea i file manualmente git fetch e git merge git revert HEAD git checkout HEAD^ <file1> <file2>
Analisi della frequenza nelle palestre Lavori come analista in una catena di palestre. Hai informazioni sulle visite degli utenti e sugli abbonamenti che acquistano. È necessario analizzare l'efficacia dell'uso degli abbonamenti. Calcola per ogni tipo di abbonamento: • il numero totale di utenti che hanno utilizzato questo tipo di abbonamento. Considera solo user_id unici; • il numero totale di visite con questo abbonamento. Considera tutte le visite degli utenti con questo abbonamento; • la quota di utenti di questo abbonamento in percentuale del totale di tutti gli utenti (arrotondata a una cifra decimale). Per calcolare la quota di utenti, usa il rapporto tra il numero di utenti con questo abbonamento e il numero totale di utenti unici. Ogni utente può avere solo un abbonamento. Ordina il risultato per tipo di abbonamento in ordine alfabetico. Formato di input Tabella memberships: • membership_id (int) — identificatore unico dell'abbonamento • user_id (int) — identificatore unico dell'utente • membership_type (text) — tipo di abbonamento Tabella visits:
Cosa è successo e come recuperare il lavoro?
In quali progetti Scala hai lavorato in passato? Condividi compiti specifici e risultati in questa tecnologia.
Cosa si può dire sulla correttezza della seguente query? select * from sessions where ended_at is null and status != 'pending';
Hai due tabelle correlate: first_table e second_table. Vuoi eseguire il comando TRUNCATE TABLE second_table CASCADE;, per eliminare tutte le righe di second_table e tutti i dati dipendenti da essa. Quali sono le possibili conseguenze dell'esecuzione di questo comando? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - La sequenza second_table_id_seq verrà reimpostata al valore iniziale. - Verranno eliminate tutte le voci di first_table collegate tramite chiave esterna a second_table. - Gli indici esistenti per second_table verranno eliminati e ricreati automaticamente. - In successive inserzioni in second_table, il valore predefinito per id potrebbe iniziare da un valore errato. - Si verificherà un errore, poiché il comando CASCADE è vietato per le tabelle con chiavi esterne.