These questions are basic C++ common knowledge, they are filtering questions, if you don't know them they figure you don't know anything more high level or conceptual, and even if you did, you couldn't implement it if you don't know the basics.
All these questions are about what you know, and if you know these details, it illustrates that you can learn. It also shows a conviction to the craft of programming, and that you aren't a casual programmer that hacks a your mom's website in PHP.
The financial industry is hardcore, the are billions of dollars at stake. If you want a job that values conceptual theory over practical knowledge, the financial industry is the wrong place for you. Conceptual theory is not really any good if you can't provide some practical application of it. Knowing every design pattern in the GoF book is great in theory, but if you don't know when to apply them in practice it is hollow knowledge.
But someone that applies the same design theory but doesn't know the names of every pattern and what not is more valuable to a business.
Knowing how floating point numbers are stored is relevant if you are doing math on them and the flaws in the way they are stored and manipulated are important. For example using Float for Currency and doing math on it is always wrong, knowing why is important, and why is based on how they are stored. It makes perfect sense that someone in the financial industry should know this before they start their first day on the job.
If you can't rattle off a few two letter commands in Unix you don't really know Unix.
I had a very smart Java developer that works for me, ask me the other day what a "segfault" was the other day, he has never done anything that required that knowledge. He doesn't have a CS degree, he has never programmed in C or C++. I would assume anyone with a CS degree should know that, I know that anyone that has written any practical C or C++ knows that and how to use gdb, valgrind and other debugging tools. I am sure that the financial industry requires some kind of CS degree for entry level positions.
Knowing all the functions to convert string to int shows the depth of your knowledge of C or C++. People that don't have this knowledge probably would not fit in with the requirements for these jobs.
How to avoid virtual tables is a very basic fundamental optimization technique in C++, and financial applications are usually very time sensitive and performance oriented, especially trading applications.
It isn't my opinion that these are not learn-able they are obviously, I learned them, lots of other people have as well. What the interviewer is looking for is have you already learned this information, which they think is important for their entry level developers to know. They are looking for what you don't know more than what you do know.
One person I used to work with back in the early '90s would ask candidates for FoxPro developer positions if they could tell him what BIOS stood for as a first question and other general knowledge questions right up front.
If they couldn't they were in a deep hole and the interview would end very quickly. Granted it had little to do with programming, but if you were a FoxPro programmer and didn't know those basic things about the computers you programmed, you were not very dedicated to your craft.