Then you risk rejecting exceptional candidates who didn't come up with the answer that you learned.
char* itoa(int value, char* str, int base);
char* itoa(int i, void* (*allocator)(size_t));
int itoa(unsigned input, char* buffer, size_t buffer_length);
How a non-programmer could recognize the body of the function is beyond me.The simplest version of the function is one that takes an integer and returns a string. This isn't a trick question and it's not difficult to answer or judge the answer if you take the time to learn it. Assuming that you're going to be hiring a programmer without one handy to help you then you need to read a few books and learn a few things. It's not that hard if you're sufficiently motivated to learn.
There's way way more than "one or two" ways to solve it if a non-programmer is judging. Non-programmers won't have a command of the language necessary to parse uncommon syntax and idioms.
Besides the people who this question would screen could not tell you what an allocator might even be.
However there are a thousand equivalent questions that you could be asked. Can you memorize them all? How do you find out what they are?