When I started the interview process, I was a senior with 8 months till graduation.
First contact was a phone call with an engineer at the company; it was very casual. This was followed by a very long, online, proctored interview.
It was about 3 hours or so, with four sections. Only one of the sections is timed, the "speed math" section. The other three sections – programming languages, not-speed-math, and algorithms – have no time limit. Portions of this online test felt very patronizing.
Soon after this, I was invited to the campus for an interview and to see the campus, paid in full. The night I arrived, I was offered to go to dinner with a current employee to talk about the surrounding area and to try cheese curds for the first time. In the morning, a few other candidates and I took a taxi to the campus and began our interviews, starting with an introduction to the company software. The order may be wrong, but I had a "group interview" where we formed small groups and talked to current employees; it was very casual and not really worth of being called an interview. This was followed by a short, one-on-one technical interview where I was asked to draw some ER diagrams and solve some very basic problems with pen and paper. The next interview was about my experience and resume; this too was relaxed and more of a chat than an interview. If you get to the on-site interview, you should be pretty confident; it is much easier than the online version.
(Speed-Math Section)
Somewhere between 12 and 20 quick algebra problems like this, with only a few minutes to solve as many as you can.
Example: It takes 2 teenagers 1.5 days to eat 3 pizzas. How many days does it take 5 teenagers to eat 10 pizzas?
(Math Section)
A lot of these types of Facebook IQ test questions:
A fox is climbing a 100-foot hill. Every second, he ascends 4 feet and then drops 3 feet. How many seconds does it take him to reach the top of the hill?
(Algorithm Section)
Four problems total. Here is the only one I remember:
You are to write a function in any language you choose that takes as input a square matrix and a number of clockwise turns, and returns the rotated matrix.
The programming language section was very strange and possibly the most difficult of them all. Each question introduces you to more and more information about a fictional programming language created for the interview and asks you questions about how to use it. You must skip around a lot and go back to previous questions to answer them properly.
The following metrics were computed from 142 interview experiences for the Epic Systems Software Engineer role in Madison, Wisconsin.
Epic Systems's interview process for their Software Engineer roles in Madison, Wisconsin is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Epic Systems's Software Engineer interview process in Madison, Wisconsin.