I'm not sure why you seem to think you "cheated" the technical interview, I don't suspect that at all, however, I just went through my first technical interview yesterday, and I'm also a self-taught programmer.

My experience was very different from yours. I was placed in a room, given a computer with no internet access and given a bunch of CSS and Javascript to do, and then answer some Javascript theory questions.

Before the interview started, the head of technology mentioned to me that he didn't expect me to know ALL the css off the top of my head, that we all sometimes need a quick peak at some of the less frequently used or newer attributes.

He also mentioned that a previous applicant had taken a whole two hours to complete the assignment, and that he felt that was too long.

After looking over the questions, I thought to myself, two hours, that's a ridiculously large amount of time, to do what was asked. I figured I'd be out of there in 40 minutes.

Then I started. I forgot how to do a background-gradient in CSS, toyed with that for probably 15 minutes before moving onto the next thing. Couldn't get my nth-child working (was using square brackets instead of regular - doh!), didn't remember how to implement a word-wrap, didn't know how to write media queries off the top of my head. As a result, just the CSS portion took an hour as I kept banging my head against the wall trying to remember these things. So 90% of the css was a no brainer, but these tiny little things, where I knew the how of the answer and a two second search would have the result, meant the task was a total failure.

Then the Javascript, all went good, but I blanked on setInterval. The setTimeout was happy to fill my conciousness but would not let it's sibling setInterval have any peak of the spotlight I so desperately needed it to have. Thankfully at 1.5 hours in the Head of Technology peaked in to ask me how it was going, and I said I couldn't remember the name of setTimeout's sibling, he told me setInterval, and I was back to the races.

I think I got about 90% of the theory questions right.

Before I left, the Head of Technology mentioned that he had hoped and thought I'd do better on the test. I'm assuming this is based on the amount of time it took me to do it, though it could also have been based on my exact memory of the less-often used CSS classes, and my mind failing me with setTimeout.

At the same time, I have to think that, as a developer, day to day, minute to minute, I probably spend about 10% of my time having to look-up the odd javascript method, or css attribute. Does that make me a bad programmer? What value is the test if it isn't done with the tools you'll use when actually working.

I think the most important thing for all of these tests wasn't if I could remember the name of the attributes and methods, but rather if the structure was right, code was readable and worked.

Had I been allowed internet access, even if I was just limited to just w3.org, I would have had the whole thing completed in no time.

I suspect I won't get the position as a result of my lack of performance (though the Head of Technology also said that nobody else had measured up), which I'm quite disappoined about, because I feel it isn't a good reflection of my capabilities.

At the same time, I am disappointed in myself because I do 'know' the answers to everything I was trying to do, but just wasn't able to put it together on the day.

Anybody else have similar stories, or advice for these situations?