I just finished interviewing with ThoughtWorks and everything that people have mentioned on here about the interview process still holds true. I talked with a recruiter at a job fair at my school, about 4 weeks later he sent me a questionnaire and a coding challenge to complete within the next 3 days. The questionnaire was very long, it asked questions along the lines of "If you were president of the world what would be the first 5 things you would change," and "How and when did you become passionate about technology."
The coding challenge was still the same Sales Tax/Rail path/Mars Rover questions that everyone on here mentioned. (quick tip: if you have the time, you should try and write some unit tests for your code sample, ThoughtWorks is very big on TDD so having unit tests would definitely help your application).
About 1 1/2 weeks later the recruiter got back in contact, asking for a phone interview. This phone interview had your typical behavioral questions (e.g. "Tell me about the last time your convinced someone to change their opinion," "Tell me about your most/least exciting experience on your resume"), questions about your knowledge of the company (you should be able to say what the companies "three pillars" are, and talk a little about what they mean), and questions about social justice in general (e.g. "What is your definition of social justice," "Who are the oppressed and underserved" ... if you are up to date with current events and can reflect on that then you will be fine).
I was also asked at this point what my desired salary range would be, what office I would want to work in, and what other companies I was applying to (The recruiter then asked me to rank ThoughtWorks and the other companies that I was applying for, I navigated around doing this by saying I didn't feel comfortable doing so as I was in different points in the hiring process. The recruiter accepted the answer, but you could tell this wasn't what he was hoping for). Because I had a deadline for another offer within the next week, the recruiter worked very quickly and was able to schedule me for an onsite interview within the next week.
Onsite interview was, again, exactly as everyone described. My advice is to go in knowing what topic you wish to present on for your 5 min STEM presentation. Make sure you are up to date with current events/social causes and can articulate your opinions on these issues. Also brush up on your object oriented programming skills, although this question didn't seem too difficult, I don't have any formal experience with OOP and so I struggled to identify the correct terminology on how to organize various classes.
Onsite interview took place Thurs/Fri, my recruiter called me Monday morning informing me they would not be extending me an offer. He gave me detailed feedback and said that their people were pretty split, and so they encourage me to work on the few trouble areas and apply again in 4 - 6 months.
Tips: As I mentioned before, try and write unite tests for you code sample. Make sure you're up to date with current events and can articulate yourself on whatever opinions you have about these issues.
Lastly, although they are a pretty casual company and everyone is super friendly, it's important to remember that they're a consulting company, so they do still look for a certain air of professionalism from all their employees. Especially because you tend to spend two days with the same people, the interviews tend to be more conversational/team-oriented, and everyone is incredibly friendly and casual, I found it pretty easy to forget this. So just make sure that your mannerism and body language don't come off as too casual.