Mně kdysi dali pěknou úlohu:
Představ si, že máš soubor s logy, ve kterém jsou uloženy URL, která lidi navštívili. Jedno URL na jeden řádek. Ten soubor je obrovský, ani náhodou se nevejde do paměti. Různých URL je také velké množství, ani ty samotné se nevejdou do paměti.
Jak bys napsal program, co nejefektivnější, který by vypsal 5 nejčastějších URL? Ne napsat, ale vysvětlit. Vůbec jsme nebyli u PC.
To je docela složitá úloha, nečekali, že to dám z hlavy, ale dívali se jak přemýšlím a postupně mě vedli k výsledku.
Jedna z pozdějších nápověd bylo, že příkaz "sort | uniq -c | sort -nr | head -n 5" přesně kopíruje to řešení (a jak to ten sort s tak velkým souborem vlastně dělá?). Rozhodně nechtěli slyšet "strč to do databáze a udělej SELECT", protože v tom případě si ten člověk myslí, že databáze je nějaká magická krabička a nevidí za tím, jak na tuhle úlohu je neefektivní.