view README.rst @ 6:c55a04d93b87 default tip

Fix one more bug in mini_fnmatch Fix greediness, recursive version still affected by the bug.
author Louis Opter <kalessin@kalessin.fr>
date Fri, 27 Dec 2013 08:06:33 -0800
parents 1f4c37678f69
children
line wrap: on
line source

Peeves
======

Annoying things every programmer should know and will be asked during job
interviews, especially phone screens.

This is not a complete nor canonical list of exercises, moreover the solutions
present here are only examples. If you find incorrect things or want to add new
problems let me know!

Some questions have hints, it's totally okay to read them.

And some questions have additional twists, you don't have to do them but you
should at least think about what they imply.

Tips
----

Use the language you are the more used to. Prefer scripting languages like
Python (you definitely want slices, built-in lists, dictionaries and Unicode
support). You'll find some solutions in C, but I actually never did anything in
C during an interview.

During phone screens you'll be coding on something like collabedit_, during
on-site interviews you'll be coding on a whiteboard. In both cases you won't be
able to take a trial and error approach; keep that in mind and work on these
exercises using a textbook.

.. _collabedit: http://collabedit.com/

Phone screens usually last 45 minutes, but dont be worried if you need more
time to work on the exercises presented here. First, that's the point, and
second your interviewer will help you.

Also
----

You'll also get dumb questions like “What is a zombie process”, “What's the
difference between hard and symbolic links”, “How many hosts in a /22?”. Be
prepared for some scripting exercises. You should have done some sysadmin and
be familiar with Linux.

This doesn't include design or troubleshooting questions, I can give you some
in private.

Instead of phone screens, some companies can ask you to do a small project at
home, again use the tools you are the most familiar with.

Actually probably relevant: http://www.prologin.org/training/.

More lulz: http://projecteuler.net/.