Objekty přicházejí do programu. V každém objektu může být uvedeno telefonní číslo a/nebo login (nebo jedno z těchto hodnot, nebo obě současně), a také užitečná zátěž ve formě binárních dat. Přicházející objekty je třeba ukládat do operační paměti za dodržení následujících omezení: Pokud má přicházející objekt stejný login a/nebo telefonní číslo jako některý z již uložených, uložený objekt je třeba smazat a nepoužívat přicházející. Pokud objekt zůstane v operační paměti déle než 60 sekund, je třeba jej smazat. Předpokládá se, že objekty přicházejí často. Navíc, objekty shodné podle loginu/telefonu jsou mnohem méně časté než celkový počet přicházejících objektů. void process(Object o) { }
C/C++
[jméno] mi o sobě, o produktech, na kterých jsi pracoval, a úkolech, které jsi plnil.
Při revizi je vidět diff, který vypadá jako hrubé kopírování nebo podivný hack: kód provádí požadovanou akci, ale není jasné, jak funguje nebo jestli vůbec správně. Jaké jsou tvé další kroky?
Jaké vlastnosti by měl mít úkol, aby naopak vyvolal reakci 'Ó, s tímto nechci mít nic společného'?
A co vás naopak odrazuje na takových akcích?
Jaké vlastnosti by měl mít kolega, aby bylo s ním pohodlné pracovat?
Jak poznat, že změna (například přechod z Boost na standardní knihovnu) skutečně « funguje »?
Měl jste zkušenosti s rozsáhlým refaktoringem velké legacy databáze? Pokud ne, jak byste postupoval, pokud by to bylo nutné?
Jaký máš vztah k aktivitám mimo pracovní dobu (fóra, firemní akce, sport) a co tě na nich nejvíce přitahuje?
Zúčastnili jste se někdy technických sporů/diskuzí uvnitř týmu? Jak probíhaly a jak byly vyřešeny?
Proč jste opustil své předchozí zaměstnání?
Co tě přimělo hledat nové místo?
Úkol na kontrolu kódu: kolega předložil řešení, které funguje a je pokryto jednotkovými testy, ale implementace není vůbec taková, jakou bys udělal sám. Co budeš dělat?
Situace: dva manažeři přicházejí a dávají dvě naléhavé úkoly, ale není na ně čas. Co bys udělal?
Jaký je plán na refaktoring a co by mělo být, aby se s tím dalo sebevědomě pracovat?
Co bude zobrazeno na obrazovce? (Otázka 3: sizeof pole, ukazatel, odkaz na pole)
Jak by mohla být implementována optimalizace RVO/NRVO v kompilátoru?
auto lambda = []<typename>(){};
Bylo při navrhování dostatek informací pro analýzu, nebo bylo rozhodnutí spíše slepé, ale úspěšné?
Co bude zobrazeno na obrazovce? (Otázka 1: konstruktory, RVO/NRVO)