Ok, for the array, that's weird... I've done my share of C and C++ programming and reading this I was like "I don't know what parametrised types are". So, I googled it and it seems you talk about templates. See, there... failed your interview already. I know about them, don't particularly like them because you never know who will maintain your code and this stuff isn't exactly simple.
Anyway, just wanted to say that.