Linear time algorithm to compute cartesian product
The question that comes to my mind reading this is, "Linear with respect to what?"  Remember that in mathematics, all variables must be defined to have meaning.  Big-O notation is no exception.  Simply saying an algorithm is O(n) is meaningless if n is not defined.
Assuming the question was meaningful, and not a mistake, my guess is that they wanted you to ask for clarification.  Another possibility is that they wanted to see how you would respond when presented with an impossible situation.
I was asked in an interview to come up with a solution with linear time for cartesian product. I did the iterative manner O(mn) and a recursive solution also which is also O(mn). But I could not reduce the complexity further. Does anyone have ideas on how this complexity can be improved? Also can anyone suggest an efficient recursive approach?