System Analyst
Czy masz oferty od innych firm pod ręką lub jesteś na ostatnim etapie z innymi firmami?
Do czego służy normalizacja danych w bazach danych i denormalizacja? Krótko mówiąc, do czego potrzebna jest normalizacja?
Opowiedz o sobie, motywacjach do zmiany pracy i swoim doświadczeniu
Opis kontraktów — tylko język biznesowy czy także w OpenAPI (JSON, obowiązkowość, wzorce)?
Czy masz doświadczenie z testami A/B?
Czym jest topic i partycja?
Jakimi narzędziami testowałeś?
Opowiedz o swoim doświadczeniu, szczególnie ostatnim
Czy pracowałeś z ClickHouse, Cassandra, Elasticsearch?
Czym różni się LEFT JOIN od RIGHT JOIN? Co znajdzie się w wyniku, jeśli nie będzie dopasowań po kluczu?
Czy nie proponują ci nowych projektów?
Błędne będzie: - W żądaniu GET można przesłać ciało - Żądanie POST można wysłać bez ciała - PUT całkowicie nadpisuje istniejący zasób lub tworzy nowy, jeśli nie istnieje - Metoda UPDATE częściowo aktualizuje stan zasobu - DELETE jest idempotentny
Najważniejsze pytanie brzmi: skąd i dokąd wysyłamy zdarzenia?
Zrób zadanie 4 — diagram sekwencji wysyłki wiadomości z CRM.
Zadanie praktyczne: Zintegrowana platforma powiadomień (Notification Platform) Kontekst W firmie istnieją 3 rozproszone systemy, które wysyłają powiadomienia do użytkowników: 1. CRM — wysyła e-maile i powiadomienia push o zamówieniach. 2. Portal wsparcia — wysyła wiadomości o zgłoszeniach do bota Telegram. 3. System bezpieczeństwa — generuje powiadomienia SMS o podejrzanych logowaniach. Każdy system realizuje własną logikę: * własne szablony, adresaci na sztywno; * brak scentralizowanej historii powiadomień; * użytkownicy skarżą się na duplikaty i opóźnienia; * brak jednolitego SLA, metryk i centrum zarządzania. Cel Zaprojektować nową platformę powiadomień, która: * agreguje zdarzenia z różnych źródeł (CRM, Support, Security), * kieruje je według typu i kanału (email, SMS, Telegram, push), * zapewnia jednolitość szablonów, logowanie i obserwowalność, * obsługuje SLA (p95 ≤ 3 sekundy na dostawę), * umożliwia skalowanie i rozszerzanie kanałów w przyszłości. Zadanie dla kandydata 1. Określ funkcjonalne wymagania systemu. 2. Opisz wymagania niefunkcjonalne (niezawodność, wydajność, obsługa błędów). 3. Stwórz diagram kontekstowy (C4 Poziom 2). 4. Dodaj schemat diagramu sekwencji. Na przykład wysyłanie wiadomości z CRM.
Jakie dane zawsze starasz się wyjaśnić, nawet jeśli klient ich nie wymienia? Jakie pytania zadajesz, aby zmusić klienta do pomyślenia o tym, o czym jeszcze nie myślał?
Która baza danych lepiej się skaluje — relacyjna czy nierelacyjna?
Czy miałeś kiedyś grooming? Czym jest grooming?
Opisz ERD dla ekranu ustawień użytkownika. Jak przechowywać ustawienia — w osobnych polach czy inaczej?
Pamięć podręczna może być stosowana do: - Organizacji kopii zapasowych danych - Zmniejszenia obciążenia głównych magazynów lub usług - Skrócenia czasu ładowania poprzez przechowywanie kopii w pamięci o szybkim dostępie - Zwiększenia przepustowości sieci - Zapewnienia synchronizacji danych między różnymi serwerami