Think about this: why do companies use competitive-programming-style problems in their interviews? Do they really want to hire people who can implement Dijkstra's or toposort? Those things are useless on the job. What they really want is people who are good at problem solving (aka have high $IQ$). The competitive programming interview is just a disguised $IQ$ test.
The reason why they don't use actual $IQ$ tests is because of two reasons:
$IQ$ tests are banned in some countries.
$IQ$ tests are standardized on those who (ideally) have no experience with the types of questions they ask, so a bunch of job candidates studying for an $IQ$ test might cause a massive ceiling effect.
So, actually, in the setting of an interview, competitive programming problems are a good substitute for $IQ$ problems.
Anyway, since these problems are essentially used as $IQ$ tests in some interviews, of course one's aptitude is gonna play a massive part in their solving skill.
Think about this: why do companies use competitive-programming-style problems in their interviews? Do they really want to hire people who can implement Dijkstra's or toposort? Those things are useless on the job. What they really want is people who are good at problem solving (aka have high $IQ$). The competitive programming interview is just a disguised $IQ$ test.
The reason why they don't use actual $IQ$ tests is because of two reasons:
$IQ$ tests are banned in some countries.
$IQ$ tests are standardized on those who (ideally) have no experience with the types of questions they ask, so a bunch of job candidates studying for an $IQ$ test might cause a massive ceiling effect.
So, actually, in the setting of an interview, competitive programming problems are a good substitute for $IQ$ problems.
Anyway, since these problems are essentially used as $IQ$ tests in some interviews, of course one's aptitude is gonna play a massive part in their solving skill.