Interview Mock

Přihlášení

Osobní údaje

Vyplň jméno a příjmení. Hodnoty se průběžně ukládají v prohlížeči; odešlou se hodnotiteli společně s odpověďmi.

Zadání

Praktický test ověřuje, jestli umíš pracovat s REST i SOAP API, ovlivnit stav přes oba protokoly, ověřit data v relační databázi a popsat principy integračního testování. Časový limit je 60 minut. Pod každým úkolem máš pole, kam můžeš vložit text (poznámka co ti šlo / nešlo), request (curl, raw HTTP, SOAP envelope), response (JSON, XML, status code) nebo nahrát soubory — screenshot, exportovanou Postman collection (.json) i SoapUI projekt (.xml). Vše se ukládá lokálně v prohlížeči a po stisknutí Odeslat se odešle hodnotiteli.

Části testu

1. REST + SOAP4 úkoly — orientace v API definicích, najít knihu, vytvořit a změnit výpůjčku, ověřit cross-protocol stav.
2. SQL3 úkoly nad samostatnou SQLite DB — SELECT, agregace, UPDATE s ověřením dopadu.
3. Závěrečné otázky9 otázek na pochopení principů (test pyramida, autentizace, stavový automat, kontraktové testování, …).

Materiály a nástroje

Definice služeb a přístupy

Definice

REST — Swagger UI/swagger — detail endpointů + Try it out
SOAP — WSDL playground/soap-ui — WSDL detail + interaktivní operace
SOAP — raw WSDL/soap?wsdl

Přístupové údaje

Klikni na hodnotu pro zkopírování do schránky.

REST — Bearer tokenBOOKS-REST-TOKEN-2026
SOAP — usernamebooks-user
SOAP — passwordBooks!2026

Nástroje

WebZáložky Swagger, WSDL, SQL — rovnou v prohlížeči
PostmanDesktop appka pro REST i SOAP testy — pokud ji máš nainstalovanou
SoapUIDesktop appka pro REST i SOAP testy — pokud ji máš nainstalovanou
SQL/sql — editor s našeptávačem + schéma DB

Praktická část · REST + SOAP

Úkoly 2 → 3 → 4 jsou sekvenčně závislé: úkol 2 vrací bookId pro úkol 3, úkol 3 vrací loanId pro úkol 4. Badge u úkolu označuje, který protokol je potřeba (a kde se na něj podívat — Swagger UI pro REST, WSDL pro SOAP).

  1. RESTSOAP Projdi si definice služeb — REST přes /swagger, SOAP přes /soap-ui (WSDL + playground). Zorientuj se v obou rozhraních.
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  2. REST Najdi knihu podle ISBN 978-80-000-0002-8 přes REST a ulož si bookId z odpovědi.
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  3. SOAP Vytvoř výpůjčku přes SOAP CreateLoan pro tuto knihu (borrowerName = QA Candidate). Ulož si loanId z odpovědi a změň status na BORROWED přes SOAP UpdateLoanStatus. Vyzkoušej jeden negativní scénář (neexistující kniha, nedostupná kniha, neplatný status nebo chybějící WS-Security).
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  4. SOAPREST Přes SOAP GetLoan ověř, že výpůjčka má status BORROWED. Ohodnoť ji ratingem 5 (SOAP ReviewLoan) — výpůjčka přejde do RETURNED a kniha se uvolní. Druhým protokolem (REST) ověř cross-protocol konzistenci: GET /rest/books/{bookId} musí teď vracet available=true.
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)

SQL část

SQLite databáze books.db je samostatný dataset, není napojená na běžící REST/SOAP mock. Napiš a spusť dotazy v SQL editoru (na samostatném tabu). Popis schématu a tabulek najdeš tamtéž.

  1. Vypiš dostupné knihy v kategorii Integration (sloupce id, title, author).
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  2. Spočítej počet výpůjček podle statusu, výstup pojmenuj status a pocet, seřaď sestupně podle pocet.
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  3. Změň data: označ všechny knihy v kategorii Testing jako nedostupné (available = 0) jedním UPDATE dotazem. Pak SELECTem ověř, že v kategorii Testing už není žádná dostupná kniha. Kolik řádků UPDATE změnil?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)

Cíl: SELECT, WHERE, GROUP BY, COUNT a UPDATE včetně ověření dopadu změny.

Závěrečné otázky

Cílem je prověřit, jak rozumíš integračnímu testování. Odpovídej věcně, klidně na příkladech z tohoto testu.

  1. Test pyramidy — kam to patří. Jak bys odlišil/a unit, integrační a end-to-end test? Co z toho jsi tady právě dělal/a? Jaký by byl unit test stejného flow?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  2. Bearer token vs WS-Security UsernameToken. Jaké mají silné a slabé stránky? Co konkrétně znamená Type="PasswordText" a jaké riziko z toho plyne (replay, MITM, logy)? Co by to zlepšilo (timestamp, nonce, PasswordDigest, mTLS)?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  3. Stavový automat výpůjčky. REQUESTED → BORROWED → RETURNED / OVERDUE / CANCELLED / LOST. Jaké přechody jsou neplatné a měl by je server odmítnout? Které invarianty bys ověřoval/a (např. nemůže se vrátit půjčka, která nikdy nebyla půjčená)?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  4. Pokrytí negativními scénáři. Mimo to, co jsi vyzkoušel/a, jaké další kategorie patří do solidní integrační sady? (např. neplatný JSON, chybějící pole, hraniční hodnoty rating 0/6, prázdný borrowerName, current vs concurrent POST /loans na stejnou knihu, expirovaný token, chybný Content-Type, …)
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  5. Kontraktové testování. Swagger/OpenAPI a WSDL jsou kontrakty. Jak bys ověřoval/a, že implementace odpovídá kontraktu (schema validation, contract-first vs consumer-driven, Pact, schemathesis)? Co se stane, když backend přidá pole v response — rozbije to testy?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  6. Správa testovacích dat a izolace. Tady běží mock v paměti, restart resetuje stav. Jak bys v reálném integračním testu řešil/a izolaci běhů (transakce + rollback, fixture per test, dedicated test env, datová namespaces)? Co s daty, která musí přetrvat (např. číselníky)?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  7. SQL ověření dopadu změny. UPDATE v SQL části — jak jsi ověřil/a, že nezměnil i něco, co neměl? (rowcount, SELECT před a po, audit log loan_events). Co by ti pomohlo při debugu, kdyby se rozjelo víc řádků, než mělo?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  8. REST vs SOAP — konzistence stavu. Tady REST a SOAP sdílí stejný in-memory stav. Co kdyby to byly dvě nezávislé služby (např. REST endpoint a legacy SOAP nad jinou DB)? Jak bys testoval/a eventuální konzistenci? Co je eventually consistent a jak se na to píší integrační testy?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)
  9. CI a stabilita. Co bys spouštěl/a při PR, co při nightly, co před deployem? Jak řešit flaky testy (timing, sdílený stav, externí závislosti)? Co je test data builder a contract drift?
    Tvoje odpověď / komentář
    Přetáhni soubory sem (max 10 MB / soubor)

Uložit nebo odeslat

Texty a soubory se automaticky průběžně ukládají do tvého prohlížeče. Po dokončení klikni Odeslat hodnotiteli — pošle tvoje jméno + odpovědi + přílohy na server. Pojistka: pokaždé se ti zároveň stáhne .md soubor, který můžeš poslat ručně.