No sympathy here. "I am a bad developer"... so? At least you have recognition of a problem, now time to improve.
Why the rejetions? Has any company told you what exactly were the reasons for rejection? Ask for a reply from the interviewers and the specific questions. Don't get those questions wrong again.
I contribute to a plethora of open source projects in a range of languages such as
C++, Perl, Python, and even various Lisp-like languages.
How about a link to the contributions? Perhaps you can get some better feedback from people looking at those. Well my bookshelf is stocked...
...
I enjoy mathematics. ...
...
And for all of this I still blunder my way through...
...
I still draw a blank when asked what the magnitude of complexity is for the guests
function I just wrote.
Why the blundering? It's not a memorization exercise, it's an exercise in counting and math: My input is N, and I loop from 0 to N, hence complexity is O(N).
I loop twice, so complexity is O(2N).
The input is M and N, my function has nested loops, 0 to M, 0 to N,
complexity is O(M * N).
My input is N and I divide and conquer recursively cutting in half...
that's (N/2)/2)/2)/2... lg N!
I think most good interviewers will be ecstatic if you can reason your algorithm out loud, even if you're a little off. It's the reasoning and thinking that matters more.I'd also recommend studying for interviews seriously. Cracking the code interview, http://www.amazon.com/Cracking-Coding-Interview-Programming-..., it helps quite a bit.