Allegro Tech & Data
Výběrový
proces
1. Devskiller úkol
V první fázi náborového procesu se ověřují technické znalosti, které se dále ověřují v další fázi.
Odkaz na Devskiller je platný 3 dny. Tvoje úkoly se budou skládat z několika prvků.
Testové otázky s výběrem odpovědí týkající se prostředí JVM (bod získáte pouze v případě, že všechny vaše odpovědi budou správné).
Otevřené otázky na různá témata týkající se bezpečné komunikace a hrozeb.
Kontrola kódu, během které přidáš své připomínky – zaměřujeme se na správné programátorské postupy.
Programování – psaní testů pro navrhovanou třídu. Kromě kvality a pokrytí případů kontrolujeme také jejich čitelnost a zaměřujeme se na rozšiřitelnost.
Tipy
Než začneš řešit úkoly, přečti si návod a věnuj zvláštní pozornost přípravě potřebných nástrojů, jako je git nebo IDE.
Na vyřešení úlohy máš 90 minut (můžeš přejít na odkaz dříve a přečíst si pokyny, ale od okamžiku, kdy klikneš na tlačítko „Spustit test“, se spustí hodiny a nelze je zastavit). Pokud ti dojde čas, můžeš na závěr volitelně přidat svůj „seznam úkolů“, tj. napsat, co bys ještě chtěl do kódu doplnit.
Během testu raději neotvírej jiné karty v prohlížeči. Devskiller si to někdy vykládá jako snahu podvádět a blokuje zadané odpovědi k úpravě.
2. Technické rozhovory
Tato část rozhovoru je zaměřena na ověření znalostí potřebných pro každodenní práci technika nad jednou službou. Hovoříme o osvědčených postupech při programování, podrobnostech o jazycích a frameworcích, které znáš. Záleží nám nejen na kvalitě kódu, ale také na výkonu a evidenci našich služeb, takže můžeš očekávat otázky týkající se fungování používaných technologií. Často také žádáme o revizi kódu odrážejícího náš každodenní proces výroby softwaru.
Co kontrolujeme?
- Správné programovací postupy – TDD, Solid
- Znalost základů programování
- jazyků – Java
- Komerční: vlákna a pooly vláken
- Asynchronní zpracování
- Asynchronní zpracování
- JVM: paměťový model Javy, algoritmy GC
Materiály, které ti pomohou
- Robert C. Martin Clean Code: A Handbook of Agile Software Craftsmanship
- Scott Oaks Java Performance: The Definitive Guide:
- Getting the Most Out of Your Code
- Adam Dubiel – Powrót do podstaw: wątki
- Adam Dubiel – Klienci HTTP: bohaterowie systemów rozproszonych
- Adam Dubiel – Przychodzi request do usługi
Tipy
Kromě tvrdých znalostí hledáme také hlubší porozumění problematice, takže i když si nejsi jistý/á odpovědí, vyplatí se odkázat na své zkušenosti.
2.1. Diskuse na téma související s algoritmem a architekturou
V této části společně s technickým náborářem navrhnete distribuovaný systém, který splňuje konkrétní obchodní požadavky. Rozhovor vyžaduje řešení otázek škálovatelnosti, výkonu, stability monitorování a bezpečnosti.
Co budeme kontrolovat?
- Logické myšlení
- Schopnost shromažďovat požadavky na systém
- Znalost navrhovaných technologi
- Znalosti o monitorování, implementaci, spouštění, škálování a údržbě aplikací v produkčním prostředí
- Přístup k produktu (pochopení, pro koho a proč řešíme problém)
Materiály, které mohou pomoci
Pokud se chceš na tento rozhovor lépe připravit, doporučujeme si přečíst následující položky
- Sam Newman: Building Microservices: Designing Fine-Grained Systems
- Martin Kleppmann: Designing Data-Intensive Applications: The Big Ideas Behind Reliable,
Scalable, and Maintainable Systems
Tipy
Hodinová konverzace k návrhu systému je velmi málo času, proto je pro nás důležitější poznat tvůj způsob myšlení a hledání řešení než vidět konečný výsledek.
Neboj se přemýšlet nahlas. Pokud máš pocit, že jsi se dostal/a do slepé uličky a nevíš, co dál, jasně to sděl. Společně s náborovým pracovníkem najdete východisko z této situace.
- Přemýšlej o rozsahu navrhovaného řešení
- Analyze alternative technologies.
- Generate ideas, propose solutions and analyze the pros and cons.
- Think about the scale of the designed solution.
- Analyze alternative technologies.
- Generate ideas, propose solutions and analyze the pros and cons.
3. Meeting with a leader and recruiter
This is the last stage of the recruitment process, conducted by a person from HR and a Team Leader/Team Manager working in the area to which you have decided to apply.
During an hour-long conversation, we discuss three aspects that are important to us:
First, we want to get to know you better. At the very beginning, we will focus on you, your motivation to change, we will verify the previous experience and examine the competences that are extremely important for us at Allegro to be able to work effectively and achieve ambitious goals. We will also focus on your expectations towards Allegro.
Secondly, we want you to get to know us better, so we will tell you about the work culture. The Leader/Manager will introduce you the area to which you have decided to apply. You will find out what solutions our development teams are working on and how they deal with challenges. We will discuss technical aspects, but also those related to the organization of work.
Thirdly, working at Allegro gives you many opportunities and benefits – we will tell you about them all!
What do we analyse?
- Innovation
- Cooperation
- Goal setting
- Analysis and scaling
- Leadership
What do we analyse?
We use a behavioral interview (STAR method).
In fact, it’s a conversation about your experiences
and work situations.
Tips
Prepare for the interview – go through your CV again, remind yourself of the projects you have implemented, think about the scope of your responsibilities.
Use examples when answering questions. Recall situations that confirm your experience.
Refer to data, at Allegro we make decisions based on numbers.
Don’t be afraid to ask! Remember that this conversation is also for you, and we want you to assess whether Allegro is really a place where you want to develop.
Remember about the structured form of providing information. More is not always better. We have an hour reserved for this interview, and a lot of topics to discuss.
Don’t get stresses! We just want to get to know you better!