I interviewed on two separate days. The first day consisted of a one-on-one behavioral interview, where we discussed my work history and habits and other standard interview fare. There was also a case-study interview on the first day, and the case was relatively easy. It mostly involved scanning data for errors and offering suggestions for improved process flow. The next day I was invited back for a second round of interviews.
The second round of interviews was about a week or so after the first round, and there were two case-studies, a one-on-one behavioral interview with a principal, a demonstration session, and a one-on-one lunch. The whole process lasted about five hours. The cases in the second round were considerably more difficult, and were apparently fairly representative of the work the company does. I honestly found the cases to be dull, and I did not excel on them. As a result, I did not receive an offer.
I commend ZS for the speed of the process. I received a call the day after the second round with their decision. Everyone I met was friendly and honest about their work. The person who took me to lunch told me that he really did not like his job, which was helpful. I realize that this might sound like sour grapes, but I am fairly certain that even if I had received an offer I would have declined. It seems like really boring and time-consuming work that does not make a positive contribution to the world at large.