There is a growing movement to have people bring in their own programs to discuss. I don't have a problem with this, but it may be problematic for people who work on projects where the code is proprietary and therefore cannot be let outside of the company (except under a nondisclosure agreement, which would suggest that you needed to tell your employer that you are in the process of interviewing, if you're currently employed). Working on an open-source project under a GPL license can make it possible for you to bring something to the interview to discuss that is not proprietary, and also protected from unauthorized use. (If you use it, you have to include all of the licensing info.) Some people don't have time or the inclination to work on open-source projects, however.
I've mentioned before that the current ethos of software engineering interviews is captured in Joel Spolsky's essays. Some people (like me) have questioned this approach. I found another individual, an ex-Googler named Jean Hsu, who notes that there may be some people who do not do well on these interviews, but are at least as competent on the job as the people who do. It would be interesting to have a panel discussion between people who espouse the different points of view with regards to software engineering interviews. It would also be good if some members of US Congress could attend the discussion, in order to better inform them why some companies claim to have trouble finding qualified people, and compare their interviewing strategies to accepted norms in other professional disciplines.