Czy masz doświadczenie w pracy z frameworkiem webowym Gin? Opowiedz nam więcej szczegółów o zadaniach, które rozwiązałeś za jego pomocą.
Data Engineer
Istnieją dwie transakcje. Najpierw pierwsza transakcja wykonuje polecenie. Następnie druga transakcja wykonuje polecenie. Potem pierwsza transakcja kontynuuje. Która sekwencja doprowadzi do wzajemnego blokowania? ```sql -- pierwsza transakcja update accounts set balance = balance + 100 where id = ?; -- druga transakcja update accounts set balance = -50 where id = ?; update accounts set balance = +200 where id = ?; ```
W PostgreSQL konieczne jest zoptymalizowanie wydajności transakcji poprzez minimalny poziom izolacji, przy którym: • równoległe transakcje mogą widzieć niezatwierdzone zmiany innych; • możliwe są "brudne odczyty" (dirty read). Jaki poziom izolacji należy wskazać dla transakcji, aby osiągnąć ten cel? brudne odczyty nie są możliwe w PostgreSQL repeatable read read uncommitted read committed serializable
Jak odzyskać pracę z zdalnej gałęzi, jeśli podczas próby `git checkout hotfix/missing-footer` pojawia się komunikat o błędzie, że gałąź nie została znaleziona?
Analiza aktywności użytkowników w kampaniach reklamowych Firma prowadzi rejestr zdarzeń związanych z kampaniami reklamowymi. Dostarczone są dwie tabele: • campaigns — lista kampanii reklamowych z ich identyfikatorami i nazwami; • events — zdarzenia użytkowników według kampanii z informacją o typie zdarzenia (np. 'click' (klik)) i czasie. Należy sporządzić raport dla każdej kampanii z następującymi wskaźnikami: • Łączna liczba zdarzeń. • Liczba unikalnych użytkowników, którzy wykonali zdarzenia. • Czas pierwszego i ostatniego zdarzenia dla kampanii. • Ranga kampanii w kolejności malejącej według łącznej liczby zdarzeń. Ranga to liczba przypisana do każdego wiersza w zestawie wyników na podstawie kolejności danych. Jeśli dwie lub więcej linii mają tę samą wartość, otrzymują tę samą rangę, ale następny ranga jest pomijana. Raport powinien obejmować tylko kampanie, które miały zdarzenia: kampanie bez zdarzeń nie są brane pod uwagę. Ostateczny raport powinien być posortowany najpierw według rangi kampanii rosnąco, a następnie według campaign_name w porządku alfabetycznym. Format wejścia • campaign_name (string) — nazwa kampanii reklamowej • start_date (timestamp) — data i czas rozpoczęcia kampanii • end_date (timestamp) — data i czas zakończenia kampanii Tabela events: • event_id (int) — unikalny identyfikator zdarzenia • user_id (int) — unikalny identyfikator użytkownika, który wykonał zdarzenie • campaign_id (int) — unikalny identyfikator kampanii • event_type (string) — typ zdarzenia, np. 'click' lub 'conversion' • event_time (timestamp) — data i czas zdarzenia Dane nie zawierają braków ani nieprawidłowych wartości. Format wyjścia Zapytanie powinno zwrócić tabelę z polami w takiej kolejności: • campaign_name (string) — nazwa kampanii reklamowej • total_events (int) — łączna liczba zdarzeń związanych z kampanią • unique_users (int) — liczba unikalnych użytkowników, którzy wykonali zdarzenia • first_event_time (timestamp) — data i czas pierwszego zdarzenia kampanii • last_event_time (timestamp) — data i czas ostatniego zdarzenia kampanii • campaign_rank (int) — ranga kampanii według malejącej liczby zdarzeń Posortuj dane według rangi kampanii rosnąco, a następnie według campaign_name w porządku alfabetycznym.
Co należy zrobić, jeśli chcesz zmienić gałąź, na którą wskazuje podmoduł? - Podmoduły nie obsługują zmiany gałęzi - Usunąć podmoduł i dodać go ponownie z żądaną gałęzią - Zmienić gałąź w podmodule i wykonać commit w głównym repozytorium - Wykonać git checkout na żądanej gałęzi w podmodule i zatwierdzić zmiany w głównym repozytorium - Wykonać git submodule update --branch, wskazując nową gałąź
Dlaczego rozważasz oferty pracy w tej chwili?
Utworzono strukturę tabel wskazaną na obrazku. Należy wykonać zapytanie wskazane na obrazku. Jaki rodzaj join należy użyć zamiast [...], aby w wyniku dla rekordów z type = 'table_aw' została wypełniona kolumna 'naming', a dla rekordów z type = 'table2' — kolumna '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 ); -- struktura tabel 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'; -- zapytanie Pozostawić puste inner cross right left
Jaką operację wykonała komenda? - Wykonała git revert na commit z config.yaml - Wykonała git filter-branch --index-filter "git rm --cached config.yaml" -- --all - Wykonała git rebase -i usuwając commity zawierające zmiany w pliku - Wykonała git commit --amend i git push --force - Użyła git cherry-pick do utworzenia nowej gałęzi bez config.yaml
Co się stało i jak odzyskać pracę?
Proszę powiedzieć, dlaczego jest Pan/Pani zainteresowany/a tą ofertą.
Tabela notifications zawiera pole status, w którym wartości to: 'sent', 'delivered', 'read'. Które zapytanie jest poprawne? 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
W PostgreSQL nagłówek wersji wiersza zawiera parametr xmax. Jaka jest jego rola w zarządzaniu transakcjami? - Do tworzenia unikalnego identyfikatora wiersza w tabeli - Do sprawdzania widoczności wiersza przez inne transakcje - Do oznaczania numeru transakcji, która usunęła lub zaktualizowała wiersz - Do blokowania wiersza przed jednoczesnymi zmianami przez wiele transakcji - Do wskazywania maksymalnej wartości, którą można zapisać w kolumnie numerycznej
Jakim poleceniem z katalogu głównego projektu należy zaktualizować submoduł docs/ do najnowszej wersji z repozytorium zdalnego i przygotować tę zmianę do zatwierdzenia? 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 "Aktualizacja" git submodule update --init docs/
Potrzebujesz szybko przywrócić kilka plików do wersji z ostatniego commita, nie naruszając innych zmian. Jak postępować? git reset --hard HEAD Usuń i utwórz pliki ręcznie git fetch i git merge git revert HEAD git checkout HEAD^ <plik1> <plik2>
Analiza frekwencji w klubach fitness Pracujesz jako analityk w sieci klubów fitness. Masz informacje o wizytach użytkowników i zakupionych przez nich karnetach. Należy przeanalizować skuteczność korzystania z karnetów. Oblicz dla każdego typu karnetu: • łączną liczbę użytkowników, którzy korzystali z tego typu karnetu. Uwzględnij tylko unikalne user_id; • łączną liczbę wizyt z tym karnetem. Uwzględnij wszystkie wizyty użytkowników z tym karnetem; • udział użytkowników tego karnetu w procentach od ogólnej liczby wszystkich użytkowników (zaokrąglony do jednego miejsca po przecinku). Do obliczenia udziału użytkowników użyj stosunku liczby użytkowników z tym karnetem do ogólnej liczby unikalnych użytkowników. Każdy użytkownik może mieć tylko jeden karnet. Posortuj wynik według typu karnetu w porządku alfabetycznym. Format wejścia Tabela memberships: • membership_id (int) — unikalny identyfikator karnetu • user_id (int) — unikalny identyfikator użytkownika • membership_type (text) — typ karnetu Tabela visits:
Co się stało i jak odzyskać pracę?
W jakich projektach Scala pracowałeś wcześniej? Podziel się konkretnymi zadaniami i osiągnięciami w tej technologii.
Co można powiedzieć o poprawności następującego zapytania? select * from sessions where ended_at is null and status != 'pending';
Masz dwie powiązane tabele: first_table i second_table. Chcesz wykonać polecenie TRUNCATE TABLE second_table CASCADE;, aby usunąć wszystkie wiersze z second_table i wszystkie dane od niej zależne. Jakie mogą być konsekwencje wykonania tego polecenia? create table first_table ( id integer primary key ); create table second_table ( id serial primary key, first_table_fk integer references first_table(id) ); - Sekwencja second_table_id_seq zostanie zresetowana do wartości początkowej. - Wszystkie wpisy z first_table powiązane kluczem obcym z second_table zostaną usunięte. - Istniejące indeksy dla second_table zostaną usunięte i automatycznie odtworzone. - Przy kolejnych wstawieniach do second_table domyślna wartość dla id może zaczynać się od niepoprawnej wartości. - Wystąpi błąd, ponieważ polecenie CASCADE jest zabronione dla tabel z kluczami obcymi.