Way easier than that. Stuff like:
Select all of the following which manage the lifetime of an object:
shared_ptr
unique_ptr
raw pointer
Or:
Assuming foo() prints "foo" and bar() prints "bar" and both return false, what would be printed from the following expression?
if(foo() && bar()) {std::cout << "baz";}
So, basic modern C++ knowledge. I'm not testing their recall of header signatures, I'm testing if they can read code and if they would be able to Google the right terms to find what they need.
Plus 2 small algorithm problems that can each be solved in 5 lines of simple code, which they have 15 minutes each to do (top candidates take under 5 mins). The environment gives them a place to write tests (with some basic tests already written) and lets them compile their code and run tests as much as they want before they submit, with normal compiler messages if it fails to compile and also any debugging messages they put in their code printed. There is also a tutorial that they can repeat as many times as they want before starting the main test.
In later interviews I have mentioned to candidates that others couldn't solve the pre-screen problems, and they are always surprised that people so unqualified are applying for the job.