Jak vypadá hiring proces v IT firmách
Pohovorový proces na programátorskou pozici je obvykle vícestupňový a liší se od pohovorů v jiných oborech. Typický proces v české nebo mezinárodní firmě:
Fáze pohovorového procesu
| Fáze | Co čeká | Délka | Kdo vede |
|---|---|---|---|
| 1. HR screening | Životopis, motivace, platové očekávání | 20–30 min | Recruiter / HR |
| 2. Technické kolo | Znalosti technologií, architektura, kód | 60–90 min | Senior developer / tech lead |
| 3. Live coding | Programovací úloha v reálném čase | 45–90 min | Developer(s) |
| 4. System design | Návrh architektury systému | 45–60 min | Architect / senior |
| 5. Behavioral / culture fit | Týmová spolupráce, hodnoty, soft skills | 30–45 min | Hiring manager |
| 6. Nabídka | Plat, benefity, podmínky | 15–30 min | HR / manager |
Rozdíly podle typu firmy
- Startup: Rychlejší proces (2–3 kola), menší formalita, důraz na praktické skills
- Korporace: Delší proces (4–6 kol), strukturovaný, assessment centra
- Agentura: Často 1–2 kola, důraz na technologie klienta
- Remote / zahraniční firma: Vše online, anglicky, často domácí úloha místo live codingu
Tip: Vždy se zeptejte recruitera na strukturu procesu hned na začátku. Budete vědět, na co se připravit a kolik času si rezervovat.
Technické kolo — na co se připravit
Nejčastější otázky podle technologie
Frontend (React, Vue, Angular):
- Jak funguje virtuální DOM a proč je rychlejší?
- Vysvětlete lifecycle hooks (useEffect, mounted, ngOnInit)
- Jak řešíte state management? Redux vs. Context vs. Zustand
- Co je SSR vs. CSR vs. SSG? Kdy co použít?
- Jak optimalizujete výkon frontendu? (lazy loading, memoization, code splitting)
Backend (Node.js, Python, Java, C#):
- Rozdíl mezi SQL a NoSQL — kdy co použít?
- Jak funguje REST API vs. GraphQL? Výhody a nevýhody
- Co je middleware a jak ho používáte?
- Jak řešíte autentizaci a autorizaci? (JWT, OAuth, session)
- Jak byste navrhli API pro e-shop? (endpointy, datový model)
Obecné CS koncepty:
- Časová a prostorová složitost algoritmů (Big O)
- Základní datové struktury (array, linked list, hash map, tree, graph)
- Principy OOP (dědičnost, zapouzdření, polymorfismus, abstrakce)
- SOLID principy — vysvětlete každý
- Design patterns — Singleton, Factory, Observer, Strategy
Jak odpovídat
- Přemýšlejte nahlas — tazatel chce vidět váš myšlenkový proces, ne jen odpověď
- Ptejte se na upřesnění — nejasné zadání je test, zda umíte klást otázky
- Přiznejte, co nevíte — „to jsem nedělal, ale navrhl bych to takto" je lepší než blábolení
- Uvádějte příklady z praxe — „v projektu X jsme řešili Y a udělali jsme Z"
Pozor: Nekompilující se příklady kódu na tabuli/sdílené obrazovce nevadí — syntaktické detaily jsou méně důležité než logika a přístup.
Hledáte novou práci?
Tisíce nabídek z celé ČR s ověřenými platy.
Live coding a domácí úlohy
Live coding — jak uspět
Live coding je nejtěžší část pohovoru pro mnoho vývojářů. Řešíte úlohu v reálném čase, často na sdílené obrazovce (CoderPad, HackerRank, nebo přímo v IDE).
Typické úlohy:
- Algoritmy — řazení, vyhledávání, práce s řetězci, rekurze
- Datové struktury — implementace fronty, zásobníku, stromu
- Praktické úlohy — parsování dat, API endpoint, databázový dotaz
- Refactoring — vylepšení špatného kódu
5 pravidel pro live coding:
- Přečtěte si zadání 2× — 30 % kandidátů řeší špatný problém, protože nečetli pozorně
- Navrhněte řešení slovně, než začnete psát — „použil bych hash mapu, protože…"
- Začněte brute force — pak optimalizujte. Funkční O(n²) řešení je lepší než nedokončené O(n)
- Testujte průběžně — edge cases: prázdný vstup, jeden prvek, duplicity
- Komunikujte — komentujte, co děláte a proč
Domácí úloha (take-home)
Některé firmy dávají úlohu na doma (2–8 hodin). Na co si dát pozor:
| Doporučení | Proč |
|---|---|
| Dodržte časový limit | Přepracovaná úloha vypadá neefektivně |
| Přidejte README | Vysvětlete rozhodnutí, jak spustit, co byste udělali jinak |
| Napište testy | Ukazuje profesionalitu, i 3–5 testů stačí |
| Čistý kód | Pojmenování, struktura, žádný zakomentovaný kód |
| Git historie | Commitujte průběžně, ne jeden velký commit |
Kde cvičit
- LeetCode — algoritmy, kategorizované podle obtížnosti a firmy
- HackerRank — širší spektrum (SQL, regex, funkcionální programování)
- Codewars — kratší úlohy, gamifikace
- Exercism — mentored track, skvělé pro nový jazyk
- Advent of Code — roční výzvy, skvělá komunita
Realistická příprava: 2–4 týdny, 1 hodina denně na LeetCode (medium difficulty) vás připraví na 90 % technických pohovorů v ČR. Pro FAANG firmy počítejte 2–3 měsíce intenzivní přípravy.
System design a architektura
System design kolo se objevuje u senior pozic (3+ let zkušeností) a je jednou z nejobtížnějších částí. Cílem je navrhnout architekturu systému od nuly.
Typické zadání
- „Navrhněte URL shortener (jako bit.ly)"
- „Navrhněte chat aplikaci pro 1M uživatelů"
- „Navrhněte systém pro zpracování plateb"
- „Navrhněte newsfeed (jako Facebook/Twitter)"
- „Navrhněte systém pro nahrávání a streamování videa"
Framework pro odpověď (4 kroky)
1. Upřesnění požadavků (5 min)
- Kolik uživatelů? Kolik requestů za sekundu?
- Jaké jsou hlavní use cases?
- Jaká je přijatelná latence?
- Konzistence vs. dostupnost — co je důležitější?
2. High-level design (10 min)
- Nakreslete hlavní komponenty (client, API gateway, služby, databáze)
- Identifikujte API endpointy
- Navrhněte datový model (hlavní entity a vztahy)
3. Deep dive (20 min)
- Databáze: SQL vs. NoSQL, partitioning, replikace
- Caching: Redis/Memcached, invalidační strategie
- Škálování: load balancer, horizontální škálování, CDN
- Messaging: Kafka, RabbitMQ pro asynchronní zpracování
4. Bottlenecky a trade-offs (5 min)
- Kde je single point of failure?
- Jak řešit peak load (Black Friday)?
- Monitoring a alerting
Klíčové koncepty, které musíte znát
| Koncept | Kdy použít |
|---|---|
| Load balancer | Distribuce traffic mezi servery |
| CDN | Statický obsah blízko uživateli |
| Caching (Redis) | Často čtená data, session |
| Message queue (Kafka) | Asynchronní zpracování, decoupling |
| Database sharding | Horizontální škálování DB |
| Replikace | Read repliky, vysoká dostupnost |
| Rate limiting | Ochrana API před přetížením |
| Consistent hashing | Distribuce dat v clusteru |
Tip pro juniory: Pokud nemáte zkušenosti se system designem, stačí znát základy (load balancer, cache, DB replikace). Tazatel od juniora nečeká návrh distribuovaného systému pro miliony uživatelů.
Plat v IT a vyjednávání — jak si říct o víc
Aktuální platy v IT (ČR, 2026)
| Pozice | Junior (0–2 roky) | Mid (2–5 let) | Senior (5+ let) |
|---|---|---|---|
| Frontend developer | 40 000–55 000 Kč | 55 000–80 000 Kč | 80 000–120 000 Kč |
| Backend developer | 45 000–60 000 Kč | 60 000–90 000 Kč | 90 000–130 000 Kč |
| Fullstack developer | 42 000–58 000 Kč | 58 000–85 000 Kč | 85 000–125 000 Kč |
| DevOps / SRE | 50 000–65 000 Kč | 65 000–100 000 Kč | 100 000–150 000 Kč |
| Data engineer | 45 000–60 000 Kč | 60 000–95 000 Kč | 95 000–140 000 Kč |
| Mobile developer | 42 000–58 000 Kč | 58 000–85 000 Kč | 85 000–125 000 Kč |
| QA engineer | 35 000–50 000 Kč | 50 000–75 000 Kč | 75 000–110 000 Kč |
Remote pozice — vyšší platy
Práce pro zahraniční firmy (remote) přináší výrazně vyšší platy:
| Firma | Typický plat (senior) | Měna |
|---|---|---|
| Česká firma | 80 000–130 000 Kč | CZK |
| Západoevropská firma (remote) | 5 000–8 000 € | EUR |
| US firma (remote) | 8 000–15 000 $ | USD |
Jak vyjednávat plat v IT
- Zjistěte si tržní hodnotu — platy.cz, Glassdoor, Teamblind, naše sekce [Platy](/platy)
- Řekněte své očekávání jako rozmezí — „40 000–50 000 Kč" místo jedné částky
- Nikdy neříkejte první číslo (pokud je to možné) — nechte zaměstnavatele nabídnout
- Nebojte se vyjednávat — 70 % IT firem má prostor pro vyjednávání
- Vyjednávejte celý balíček — nejen mzdu, ale i:
| Benefit | Hodnota |
|---|---|
| Home office 3+ dny/týden | Úspora 2 000–5 000 Kč/měs na dopravě |
| Vzdělávací budget | 10 000–50 000 Kč/rok |
| Extra dovolená (5. týden) | Ekvivalent ~6 000 Kč |
| Stravenky / stravenkový paušál | 2 000–3 000 Kč/měs |
| Multisport karta | 1 000–1 500 Kč/měs |
| Akcie / stock options | Startup: 0,1–1 % equity |
| Penzijní příspěvek | 1 000–3 000 Kč/měs |
| Sick days (3–5 dní navíc) | Bez nutnosti neschopenky |
Zlaté pravidlo: V IT je nízká nezaměstnanost a vysoká poptávka. Pokud máte 2+ roky zkušeností a aktivně hledáte, dostanete 3–5 nabídek. Nebojte se odmítnout nabídku pod vaší cenou — další přijde. Na [Síti práce](/prace) najdete stovky aktuálních IT nabídek s transparentním platem.