In my opinion, any candidate requesting an overview of the code base goes up a notch in my review. Regrettably, few ask.
Part of the challenge with this request is that they may not have scheduled time for it during the initial interviews. You may have to come back at a later point in time, or they may be able to extend out the length of the interview session to give you an overview.
I would start by asking about general architecture questions.
- What technologies are the using?
- What amount of time are they spending on defects vs. new development?
- What's the trickiest part of their code base, and why?
- How long does it generally take to make changes?
All of those questions can give you very telling answers regarding the state of the code base.
If / when they are able to provide you a walk-through, consider asking about and looking at the following.
- How is the code organized?
- Who owns what areas and how are problems resolved (note that the names won't be meaningful to you, but the answer can be telling.
- Ask to see the more "interesting" parts of the code. The interviewer will likely choose from some areas they have written, and that should give you some insight into the layout and structuring.
- Ask to see their common library and what routines they provide within their framework.
The key is to show genuine technical interest in their code base and how things are laid out. Every application has its warts and ugly code. Every application has faced time crunches and less-than-optimal code had to be put in place. Every application carries technical debt. Look to see that the fundamentals are in place, such as encapsulation between layers of the application.