otázky u pohovorů v jedné mezinárodní společnosti.
U otázek s popisem programovací se psal program na tabuli (nebo do sdíleného dokumentu). Prakticky u všech otázek se hraje na optimalizaci, složitosti...
První telefonické interview
- Jednosměrný spojový seznam, vyndání k-tého prvku od konce, programovací, optimalizace, okrajové případy.
- Dlouhý řetězec, pro tři slova mám daná pole indexů, na kterých se nachází. Najít nejkratší podřetězec, který je obsahuje všechny.
Druhé telefonické interview
- Hashtable, princip, složitosti, vkládání, zvětšování...
- Procházení binárního stromu do šířky, programovací.
- Návrh google cache, load balancing, odolnost při výpadku, zotavení a update dat po výpadku....
On-site interview
- Pole integerů, znormalizovat z jednoho rozsahu do druhého, programovací.
- Pole integerů, najíd nejdelší podpole, kde jsou hodnoty unikátní, programovací.
- Stock span - pole integerů, pro každý prvek najít posloupnost předchozích položek, které jsou menší, programovací.
- Ballot screen - proč třídění s compare()=0.5-rand() není dobrá randomizace.
- C++ - virtuální funkce, princip, VMT, čas konstrukce....
- Dvě pole integerů, najít největší součet (z každého pole jedna hodnota), který je menší než nějaký práh, programovací.
- Google maps, návrh, struktura dat a komunikace, dlaždičky, velikost dat, počet zoom levelů, loadbalancing....
- Google Earth - návrh mobilního klienta, co musí a nemusí umět, struktura komunikace...
- Twitter - návrh, velikost vývojového týmu, nutné modifikace pro corporate nebo military....
- 10 000 000 dokumentů, hledání kopií (duplicit)