I would not get too hung up on those multiple choice tests.
I've been programming professionally now for over 25+ years and ran into my first multiple choice test about 4 years ago.
In a very short space of time I managed to failed three (two C# and one C++) in quick succession.
Now days, if I come across a role that requires such a test I just politely refuse and move on.
FWIW why I think these test are a waste of time and why I did so badly is because they don't actually test day to day programming skills.
The three test I did where all very similar with a lot of gotcha type of questions.
They asked questions like spot the obscure error in a very poorly written piece of spaghetti code, or tell me exactly what exception this code will throw exception etc.
As a programmer you never have to directly deal with these types of issues only because your compiler finds the errors and the documentation gives you exception details.
And in a way the tests knew this as well, because all three warned you could not switch out of the test window while doing the test.
In other words the test would have been a trivial exercise if you where actually allowed to use your day to day work tools.
I would not get too hung up on those multiple choice tests.
I've been programming professionally now for over 25+ years and ran into my first multiple choice test about 4 years ago.
In a very short space of time I managed to failed three (two C# and one C++) in quick succession.
Now days, if I come across a role that requires such a test I just politely refuse and move on.
FWIW why I think these test are a waste of time and why I did so badly is because they don't actually test day to day programming skills.
The three test I did where all very similar with a lot of gotcha type of questions.
They asked questions like spot the obscure error in a very poorly written piece of spaghetti code, or tell me exactly what exception this code will throw exception etc.
As a programmer you never have to directly deal with these types of issues only because your compiler finds the errors and the documentation gives you exception details.
And in a way the tests knew this as well, because all three warned you could not switch out of the test window while doing the test.
In other words the test would have been a trivial exercise if you where actually allowed to use your day to day work tools.