Epic first contacted me asking me to apply. Shortly after that they had me take an online personality test. I think it took 30-45 minutes. It had some analogies and some personality questions where you had to choose what actions in a list sound most like the ones you would take.
Then there was a phone interview. This was very basic and mostly informational. I can't recall if they asked me anything that needed preparing for beyond they basic "why do you want to work here" sort of things.
After the phone interview, was a skills test. I took a math/logic test, a test where I was presented with a new language and certain rules about it, and then had to answer questions about it, and a programming test. I thought the math/logic test was a bit silly. The math was straightforward enough, but some of the problems were riddles that I had the advantage of having seen before. If I had not seen them before, I can't say how well I would have done. I guess they were testing if you could find patterns or relations in things. The programming section involved a lot of stuff with permuting sets. The section where you were presented with a new language was not bad, especially if you have some programming experience to draw off of.
Lastly, I was flown out to Wisconsin to visit the campus. They flew me out first class, put me in a nice hotel, and took me out to a fabulous dinner the night before. I would recommend going to dinner. You get to meet an employee and a few of the other recruits in a relaxed situation. Plus, the employees know the dinner is on Epic, so they pick some of the nicest places in the area, from what I heard.
Once on campus (they make transportation very easy to set up), I was given a schedule that outlined my day. The schedules vary depending on your start time and position you are applying for. Personally, I started with the tour of the campus (very impressive), and then met with someone from Technical Services who explained in detail what the job entails. Usually this is one employee to several recruits, but I guess I was the only recruit scheduled at the time for Technical services, so it was just 1-1 for me, plus someone from HR who was shadowing. This was actually fun and relaxed for me. Nothing to worry about. Just be sure you have questions (though, I found many questions came up during the description).
After that, another technical services employee picked me and one other recruit up and took us to lunch in their cafeteria. The food was very good, and there was a very large selection. Additionally, though we did not have to pay for it, it seemed quite cheep from the prices I saw. This was also very relaxed and allowed us more time to talk with people from the team we are applying for.
Then, I finally had my interview. This was not bad either. I was given several hypothetical problems I had to deal with and then had to prioritize them and explain why. Then they give you some new information about the situations and you explain what you do in that case. They also asked me some personality based questions like what a pet peeve of mine was, and a few other basic interview questions.
After the interview, I had one more test I needed to take. It was a verbal test, and very SAT writing section-esque, plus some very confusingly worded sentences you had to answer questions about.
The last part of my day was the "wrap up". This is actually a little interview, which I think caught many of the recruits off-guard. It wasn't bad, but it was unexpected. This was more of a fit interview to see how I would fit in with the company.
Overall, there was nothing too stressful or difficult. My advice is to be yourself and let them see your personality. Everyone I met was really nice and fun and I think I shared a good laugh with everyone of the employees I met while there. Once you pass all the written tests, they have a pretty good idea of how intelligent you are, so try to show them other aspects of your personality.