Left shifting a negative number is undefined for the general case but we have to understand why this undefined behavior (UB)? Keep in mind that Most Significant Bit (MSb) is the sign bit. If this bit is a 1 the number is negative. If it is a zero the number is positive. This is critical information is lost with the first left shift. For example
-32768<<4
is the same thing as
0x8000<<4
(assuming a 16 bit machine for simplicity)
The result is, of course, 0 which doesn't really make any sense and is therefore UB.
In the specific case of the interview question from the OP, there is only one specific value we are concerned with...not the general case. -1 (0xffffffff on a 32 bit machine) shifted left 4 times will yield 0xfffffff0 as the OP originally thought.