A programba objektumok érkeznek. Minden objektumban megadható egy telefonszám és/vagy bejelentkezés (vagy mindkettő egyszerre), valamint egy bináris adat formájában lévő hasznos terhelés. A bejövő objektumokat a működő memóriában kell tárolni az alábbi korlátozások betartásával: Ha a bejövő objektumnak ugyanaz a bejelentkezése és/vagy telefonszáma, mint egy már tárolt objektumnak, akkor a tárolt objektumot törölni kell, és a bejövőt nem szabad menteni. Ha egy objektum több mint 60 másodpercig marad a működő memóriában, akkor törölni kell. Feltételezzük, hogy az objektumok gyakran érkeznek. Ezenkívül, a bejelentkezés/telefon szerint egyező objektumok sokkal ritkábban fordulnak elő, mint az összes bejövő objektum. void process(Object o) { }
C/C++
[név] mesélj magadról, azokon a termékeken, amelyeken dolgoztál, és a feladatokról, amelyeket elvégeztél.
Áttekintés során látható egy diff, ami úgy néz ki, mint egy durva másolás-beillesztés vagy egy furcsa hack: a kód végrehajtja a szükséges műveletet, de nem egyértelmű, hogyan működik vagy működik-e egyáltalán helyesen. Milyen a következő lépéseid?
Milyen tulajdonságokkal kell rendelkeznie egy feladatnak, hogy éppen ellenkezőleg, a „ó, nem akarom ezt csinálni” reakciót váltsa ki?
És mi, épp ellenkezőleg, taszít ilyen eseményeken?
Milyen tulajdonságokkal kell rendelkezzen egy kollégának, hogy kényelmes legyen vele dolgozni?
Hogyan lehet megállapítani, hogy egy változtatás (például a Boostról a standard könyvtárra való áttérés) valóban « működik »?
Hogyan viszonyulsz a munka utáni tevékenységekhez (fórumok, céges rendezvények, sport) és mi az, ami a leginkább vonz bennük?
Részt vettél már technikai vitákban/diszkussziókban a csapaton belül? Hogyan zajlottak és hogyan oldódtak meg?
Volt már tapasztalata nagy léptékű legacy adatbázis refaktorálásában? Ha nem, hogyan járna el, ha szükség lenne rá?
Mi motivált arra, hogy új helyet keress?
Miért hagyta el a korábbi munkahelyét?
Van egy kód-áttekintési feladat: egy kolléga olyan megoldást adott be, ami működik és egységtesztekkel van lefedve, de a megvalósítás teljesen más, mint ahogy te csinálnád. Mit teszel?
Helyzet: két vezető jön és ad két sürgős feladatot, de nincs idő. Mit tennél?
Mi a terv a refaktoráláshoz, és mit kellene lennie ahhoz, hogy magabiztosan csináljuk?
Hogyan lehetne megvalósítani az RVO/NRVO optimalizálást egy fordítóban?
Hogyan kerülhető el, hogy három hónap múlva minden "rendetlen" legyen és semmi ne működjön, ha a vezető úgy döntött, hogy radikálisan újraíja a kódot (például eltávolítja a Boostot)?
Kérlek, mesélj a múltbeli tapasztalataid legemlékezetesebb feladatairól vagy projektjeiről — mi tetszett és mi, éppen ellenkezőleg, nem tetszett.
Mit fog megjeleníteni a képernyőn? (Kérdés 1: konstruktorok, RVO/NRVO)
Elég információ volt az elemzéshez a tervezés során, vagy inkább vakon hozták meg a döntést, de sikeresen?