Sobes.tech

Data Engineer

Haben Sie Erfahrung mit dem Web-Framework Gin? Erzählen Sie uns im Detail, welche Aufgaben Sie damit gelöst haben.

Junior
169

Es gibt zwei Transaktionen. Zuerst führt die erste Transaktion einen Befehl aus. Dann führt die zweite Transaktion einen Befehl aus. Danach setzt die erste Transaktion ihre Ausführung fort. Welche Sequenz führt zu einer Deadlock? ```sql -- erste Transaktion update accounts set balance = balance + 100 where id = ?; -- zweite Transaktion update accounts set balance = balance - 50 where id = ?; update accounts set balance = balance + 200 where id = ?; ```

Junior
167

In PostgreSQL ist es notwendig, die Leistung von Transaktionen durch ein minimales Isolationsniveau zu optimieren, bei dem: • parallele Transaktionen unvollständige Änderungen voneinander sehen können; • "Dirty Reads" (schmutzige Lesezugriffe) möglich sind. Welchen Isolationsgrad muss die Transaktion haben, um dieses Ziel zu erreichen? Dirty Read ist in PostgreSQL nicht möglich Repeatable Read Read Uncommitted Read Committed Serializable

Junior
166

Wie stellt man die Arbeit aus einem entfernten Branch wieder her, wenn beim Versuch, `git checkout hotfix/missing-footer` auszuführen, eine Fehlermeldung erscheint, dass der Branch nicht gefunden wurde?

Junior
165

Analyse der Nutzeraktivität in Werbekampagnen Das Unternehmen führt eine Aufzeichnung der Ereignisse im Zusammenhang mit Werbekampagnen. Es werden zwei Tabellen bereitgestellt: • campaigns — Liste der Werbekampagnen mit ihren Identifikatoren und Namen; • events — Nutzerereignisse nach Kampagnen mit Informationen zum Ereignistyp (z.B. 'click' (Klick auf die Werbung)) und zur Zeit. Es ist notwendig, für jede Kampagne einen Bericht mit den folgenden Kennzahlen zu erstellen: • Gesamtzahl der Ereignisse. • Anzahl der eindeutigen Nutzer, die Ereignisse durchgeführt haben. • Zeitpunkt des ersten und letzten Ereignisses pro Kampagne. • Rang der Kampagne nach absteigender Gesamtzahl der Ereignisse. Der Rang ist eine Zahl, die jeder Zeile im Ergebnis basierend auf der Datenreihenfolge zugewiesen wird. Wenn zwei oder mehr Zeilen denselben Wert haben, erhalten sie den gleichen Rang, aber der nächste Rang wird übersprungen. Der Bericht sollte nur Kampagnen enthalten, bei denen Ereignisse stattgefunden haben: Kampagnen ohne Ereignisse werden nicht berücksichtigt. Das endgültige Ergebnis sollte zuerst nach dem Rang der Kampagne aufsteigend sortiert werden, und dann nach campaign_name in alphabetischer Reihenfolge. Eingabeformat • campaign_name (String) — Name der Werbekampagne • start_date (Timestamp) — Startdatum und -zeit der Kampagne • end_date (Timestamp) — Enddatum und -zeit der Kampagne Tabelle events: • event_id (int) — Eindeutige Ereignis-ID • user_id (int) — Eindeutige Benutzer-ID, die das Ereignis durchgeführt hat • campaign_id (int) — Eindeutige Kampagnen-ID • event_type (String) — Art des Ereignisses, z.B. 'click' oder 'conversion' • event_time (Timestamp) — Datum und Uhrzeit des Ereignisses Die Daten enthalten keine fehlenden oder inkorrekten Werte. Ausgabeformat Die Abfrage sollte eine Tabelle mit den folgenden Feldern in dieser Reihenfolge zurückgeben: • campaign_name (String) — Name der Werbekampagne • total_events (int) — Gesamtzahl der Ereignisse im Zusammenhang mit der Kampagne • unique_users (int) — Anzahl der eindeutigen Benutzer, die Ereignisse durchgeführt haben • first_event_time (Timestamp) — Datum und Uhrzeit des ersten Ereignisses der Kampagne • last_event_time (Timestamp) — Datum und Uhrzeit des letzten Ereignisses der Kampagne • campaign_rank (int) — Rang der Kampagne nach absteigender Gesamtzahl der Ereignisse Sortieren Sie die Daten nach dem Rang der Kampagne aufsteigend, und dann nach campaign_name in alphabetischer Reihenfolge.

Junior
162

Was ist zu tun, wenn Sie den Zweig ändern möchten, auf den ein Submodul zeigt? - Submodule unterstützen keinen Zweigwechsel - Submodul entfernen und mit dem gewünschten Zweig erneut hinzufügen - Den Zweig im Submodul ändern und einen Commit im Hauptrepository durchführen - git checkout auf den gewünschten Zweig im Submodul ausführen und die Änderungen im Hauptrepository festhalten - git submodule update --branch ausführen und den neuen Zweig angeben

Junior
161

Warum ziehen Sie derzeit Jobangebote in Betracht?

Junior
156

Welche Operation hat der Befehl ausgeführt? - Hat git revert auf den Commit mit config.yaml ausgeführt - Hat git filter-branch --index-filter "git rm --cached config.yaml" -- --all ausgeführt - Hat git rebase -i mit Löschung der Commits, die Änderungen an der Datei enthalten, durchgeführt - Hat git commit --amend und git push --force ausgeführt - Hat git cherry-pick verwendet, um einen neuen Branch ohne config.yaml zu erstellen

Junior
154

Bitte erzählen Sie uns, warum Sie an dieser Stelle interessiert sind.

Junior
153

Was ist passiert und wie kann man die Arbeit wiederherstellen?

Junior
153

Es wurde die in der Abbildung angegebene Tabellenstruktur erstellt. Es ist notwendig, die in der Abbildung angegebene Abfrage auszuführen. Welchen Join-Typ muss man anstelle von [...] verwenden, damit in der Ergebnisliste für die Einträge mit type = 'table_aw' die Spalte 'naming' ausgefüllt ist, und für die Einträge mit type = 'table2' die Spalte '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 ); -- Tabellenstruktur 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'; -- Abfrage Leer lassen inner cross right left

Junior
152

Die Tabelle notifications enthält ein Feld status, in dem die Werte: 'sent', 'delivered', 'read' sind. Welcher der Abfragen ist korrekt? 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
151

In PostgreSQL enthält die Zeilenversionsüberschrift den Parameter xmax. Welche Rolle spielt dieser bei der Transaktionsverwaltung? - Zur Erstellung einer eindeutigen Zeilen-ID in der Tabelle - Zur Überprüfung der Sichtbarkeit der Zeile durch andere Transaktionen - Zur Angabe der Transaktionsnummer, die die Zeile gelöscht oder aktualisiert hat - Zum Sperren der Zeile vor gleichzeitigen Änderungen durch mehrere Transaktionen - Zur Angabe des maximalen Werts, der in eine numerische Spalte geschrieben werden kann

Junior
150

Welcher Befehl aus dem Stammverzeichnis des Projekts sollte verwendet werden, um das Submodul docs/ auf die neueste Version aus dem Remote-Repository zu aktualisieren und diese Änderung für den Commit vorzubereiten? 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 "Update" git submodule update --init docs/

Junior
150

Analyse der Besucherzahlen in Fitnessstudios Sie arbeiten als Analyst in einer Fitnessstudio-Kette. Sie haben Informationen über die Besuche der Nutzer und die von ihnen gekauften Mitgliedschaften. Es ist notwendig, die Effektivität der Nutzung der Mitgliedschaften zu analysieren. Berechnen Sie für jeden Mitgliedschaftstyp: • die Gesamtzahl der Nutzer, die diesen Mitgliedschaftstyp genutzt haben. Berücksichtigen Sie nur eindeutige user_id; • die Gesamtzahl der Besuche mit dieser Mitgliedschaft. Berücksichtigen Sie alle Besuche der Nutzer mit dieser Mitgliedschaft; • den Anteil der Nutzer dieser Mitgliedschaft in Prozent am Gesamtzahl aller Nutzer (auf eine Dezimalstelle gerundet). Zur Berechnung des Nutzeranteils verwenden Sie das Verhältnis der Nutzer mit dieser Mitgliedschaft zur Gesamtzahl der eindeutigen Nutzer. Jeder Nutzer kann nur eine Mitgliedschaft haben. Sortieren Sie das Ergebnis nach Mitgliedschaftstyp in alphabetischer Reihenfolge. Eingabeformat Tabelle memberships: • membership_id (int) — eindeutiger Bezeichner der Mitgliedschaft • user_id (int) — eindeutiger Bezeichner des Nutzers • membership_type (text) — Typ der Mitgliedschaft Tabelle visits:

Junior
147

Sie müssen schnell mehrere Dateien auf die Version des letzten Commits zurücksetzen, ohne die anderen Änderungen zu beeinflussen. Wie vorgehen? git reset --hard HEAD Dateien manuell löschen und neu erstellen git fetch und git merge git revert HEAD git checkout HEAD^ <Datei1> <Datei2>

Junior
147

An welchen Scala-Projekten haben Sie zuvor gearbeitet? Teilen Sie konkrete Aufgaben und Erfolge in dieser Technologie.

Junior
142

Was kann man über die Korrektheit der folgenden Abfrage sagen? select * from sessions where ended_at is null and status != 'pending';

Junior
142

Was ist passiert und wie kannst du die Arbeit zurückholen?

Junior
142

Sie haben zwei verknüpfte Tabellen: first_table und second_table. Sie möchten den Befehl TRUNCATE TABLE second_table CASCADE; ausführen, um alle Zeilen aus second_table und alle von ihr abhängigen Daten zu löschen. Welche Folgen kann die Ausführung dieses Befehls haben? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - Die Sequenz second_table_id_seq wird auf den Anfangswert zurückgesetzt. - Alle Datensätze in first_table, die über einen Fremdschlüssel mit second_table verbunden sind, werden gelöscht. - Bestehende Indizes für second_table werden gelöscht und automatisch neu erstellt. - Bei späteren Einfügungen in second_table kann der Standardwert für id mit einem inkorrekten Wert beginnen. - Es tritt ein Fehler auf, da der Befehl CASCADE für Tabellen mit Fremdschlüsseln verboten ist.

Junior
140
/3