Practice problems for programming interviews