I originally applied as a software developer. I started the application process through a friend's referral. I was contacted with a email within days, asking me to send a resume and fill out some standard forms. I had a phone interview with one of the developers. The interview was not very formal and not technical. I was asked an open-ended question. It was most likely to see how I approach problems and not looking for any technical "right" answer.
I was invited to take an online proctored assessment. It consists of math, logic, and programming sections with multiple choice questions. Personally, I thought the math was very easy. The logic section was a little more mentally challenging. The programming section consist of learning a new language and applying the knowledge. There is also a coding section. It was slightly challenging. You can use any language, and possibly pseudo code.
I received a email a few days later inviting me for an interview. However, it was for the technical services position and not for software developer. This was probably because of my not-so-great performance on the coding section of the assessment and my deficient background in programming.
The hotel, flight, and all other expenses are covered, which is great. I had an enjoyable time the first night having dinner with two current Epic employees. The interview starts at 9 the next morning. First, it was a round of software demo. After which, the recruits (about 8) break up into individual interviews and activities. I had two 30 minute interviews. They were informal and probably mainly serve to provide me with information. I took another online assessment concerning logic. It was a little more difficult. After a 30 minute tour of the campus and lunch, I had a final interview with HR. It was the only "real" interview. There was nothing unexpected.