Some good answers from linkedin:
Your (technical) interviewer is looking for the following:
1) Can you communicate confidently and effectively about the subject?
2) Can you communicate the high level relationships between different parts of the system? Or are you just throwing buzz words around? Buzz words impress recruiters but not technical interviewers. They want to know if you understand the buzz words, so they might ask you to explain your answers.
3) Does your communication reveal experience in modifying, configuring, deploying the technologies that you have shown on your resume? Or are/were you just a user of the technology stack? If so, that’s ok; most of us are. Exactly where is your experience? Do you understand what those other parts of the technology stack do for the application and the system? How do they impact how you write your code?
4) Does your answer allow the interviewer to ask deeper questions pertaining to your experience that is pertinent to the position(s) that you are being interviewed for? And/or for potential future work?
Before I get into the technical questions, I like to ask my interviewees to write a simple for loop and explain it to me as they write it and then make changes to it as instructed. You would be amazed at how hard that is for java programmers with self-reported 4-6 years experience for whom it should be second nature.
If you cannot communicate to me how you do your work during the interview, how am I going to communicate with you while we do the actual work?