Its worth noting that I have already done this now, but I am wondering if I might have made a mistake.
I have on my resume that I know a few programming languages, and I do. I actually really enjoy programming, and while I've never worked as a developer, I have written code for previous employers and enjoy writing code on my own time. I've been a hobbyist coder for most of my life and I'd like to think that over the years I have written some complex and interesting software.
During an interview for a Customer Support role at a software company one of my interviewers decided to quiz me on my knowledge of one of the languages that I said I was fluent in. I ended up being unable to satisfactorily answer a rather simple question about what specific command I would use to handle a specific, but common situation. I could not remember the name of the command. I gave an alternative command to use, but it was a much more inefficient route to go.
When I program I usually have the language reference, for whatever language it is, open in front of me, and I refer back to it often. Had I been asked to write a small sample program to demonstrate my skills, I think I would have had no trouble.
So having made a mistake on the skills test that I think probably looked very bad, I sent some samples of code that I have written in each of the languages listed on my resume along with an explanation of why I blundered and what each sample did.
Did I make a mistake here? Will this come off arrogant? Should I have just let it go? I'm questioning my decision to send code samples.
EDIT: This is the relevant part of my interview follow up email.
"I also wanted to take a moment to apologize for my blunder during the skills test that I was given during our discussion. ... I have attached to this email a few pieces of code that I have written that I think are a much more representative of my current skill level. If you have some free time I would appreciate you giving them a quick look over."