The usual routine: phone screen first, then in-person interview. The questions weren't too difficult, but they were very specific. Chances are if you don't work with the modules that they drill you on, you won't be able to give a satisfactory answer. Unfair? Maybe. Bad way to run an interview? Definitely. They don't care if you are a free thinker or if you can make good trade-offs decisions for a problem with no clear solution; they just want to know if you can start coding right away with no training.