I recently had an interview with a company. After that interview, I was told to complete a short programming assignment (a small program; shouldn't take more than three hours). I'm only directly instructed to complete the assignment and turn in the code via email. I was given complete freedom to use any language I wished.
I have been developing software for awhile and this is the first time I have applied for a job and was allowed to program something at home, I normally just program stuff in a technical interview which are time limited.