Selection Sort vs Insertion Sort For Reversed Array
This is an awful question for a test. 

Selection sort always has about n^2/2 comparisons and n swaps. Insertion sort has between n and n^2/2 comparisons and the same number of swaps. But as you said absolutely correctly, the actual time depends on the exact implementation. 

For example if you look for the smallest element in selection sort like this:

smallest = a[k]
smallestIndex = k
for k+1 ≤ j ≤ n
    if a[j] &lt; smallest
        smallest = a[j]
        smallestIndex = j


you see that that the code in the if-statement will be executed with every execution of the loop. 

On the other hand, in the insertion code the moving can be done with some highly optimised code. 

So I wouldn't be at all surprised if insertion sort were faster on some particular implementation even in this situation, even though it is the worst case for insertion sort. (I would also not be surprised if selection sort were faster).