Помнится, в Яндексе на собеседовании спрашивали "как оптимально прочитать n последних строчек файла". Как раз по работе читаю исходник tail сейчас. Вот теперь я вам, сволочи, отвечу так отвечу // на самом деле не отвечу
471 Print the last N_LINES lines from the end of file FD.
472 Go backward through the file, reading 'BUFSIZ' bytes at a time (except
473 probably the first), until we hit the start of the file or have
474 read NUMBER newlines.
@238328 `except probably the first` вот до этого я может быть не догадался бы - сделать чтобы последний блок точно в начало файла и с адресацией не обосраться ненароком