Implementation of a simple stack with min method
It all depends how much time you had to do this, overall it looks ok. In a couple of places you are initializing in the body of the constructor rather than using the initializer list, that is if nothing somewhat inconsistent but you should be using the initializer list in all of these cases. Also the way you use it, the stackNode constructor might as well take the next pointer, this way you don't forget to set it. I might try and get you to figure that out via questions about the constructor. 

There is no way to get to value of the top of the stack, pop doesn't return it, neither is there a top() function that would return the top value. 

I'd probably also would like to see an error condition rather than the default constructed value being returned for minimum() and pop(). It's worse for minimum because you are returning a valid value e.g. int() for an empty stack, i.e. calling minimum() on an empty stack&lt;int&gt; will return 0. That is just plain wrong therefore a bug. 

I'd probably ask you why you consider min a temporary, this is from the comment in pop() just to clarify language. 

stackNode* push(T val, stackNode *head) should be private

Algorithm wise it looks like a reasonable solution, depending on how the inteview goes i might ask you follow up questions, e.g. could you come up with a solution that doesn't need two separate stacks, these days I'd also ask you how to make this datastructure thread safe. I might ask what requirements there are to type T and what might happen if they aren't fulfilled. Maybe again depending how the interview goes, how to extend the stack to allow classes that don't fulfill the requirements to still used for the stack.