Don't argue with interviewers
You don't want to argue with an interviewer in nearly all cases - unless you no longer care about the job. Open hostility is not a way to make a good impression.
Consider the two responses:
- "Your question is wrong, there is no gap!"
- "Computer Science students often learn about more theoretical aspects, such as Big O notation, recursion, and algorithm design. Over the past years I have spent a lot of time researching and investigating these and am comfortable using and discussing them. When I learn areas which I am inexperienced, I generally investigate and learn about them - I have been doing this since I first started programming and expect to continue to do so!"
Which of those do you think will make an interviewer feel better about you as a candidate?
Address their concerns, not their premises. They are concerned you don't "get" it. Don't argue about minor details, help them see you do "get it."
Have a portfolio
Second, if you don't have a portfolio of something you have done, I would create or compile one. You can then refer to it when you talk about things (rather than previous project work). Perhaps put a bunch of examples together of different topics, too, so you could say, "I actually have some code about Big O notation on my github account!" or "I wrote a small application demonstrating recursion on my github to better understand it."
This helps with addressing their concerns, which are that you are not going to be able to program as well as someone with a computer science background.
##Closing thoughts
Closing thoughts
You will always find bad interviewers who are going to judge you based on a "lack of a degree" or other irrelevant details.
You can either worry about the few that do this, or find others than evaluate you on your abilities.