First, I had a phone interview. It was very general, asking about my experience on the resume and double-checking my GPA, GRE Score, and graduation date. Then, they introduced the culture and team composition at Epic. It was a very easy phone interview.
Four days later, I received an invitation to an assessment test. I made an appointment for the assessment test in New York. The test is composed of:
The first programming problem was the Text Message Input problem (A:2, B:22, C:222, 2:2222, D:3...). Given an alphanumeric string, print the corresponding keystroke series.
The second was the Mingo problem, involving a 100x100 board with unique numbers from 1 to 1,000,000.
Then, there was the encryption problem: replace each character in a string by multiplying the character (A=1, B=2,...Z=26) with a constant N, then taking the result modulo 26, and using the resulting number to replace the original character.
The last problem was: Given the number of digits, print all possible "well-ordered numbers." For example, 138 is well-ordered because 1<3<8, but 154 is not because 1<5>4.
The details of these problems can be found on other websites. In general, the programming questions were a little tricky, but the other problems were okay.
The first programming problem is the Text Message Input problem (A:2, B:22, C:222, 2:2222, D:3, ...), given an alpha-numeric string, print the corresponding key stroke series.
The Second is the Mingo problem: a 100x100 board with unique numbers from 1 to 1,000,000. Each time a number from 1 to 1,000,000 is called, we check if the board has a Mingo. A Mingo exists when all numbers in a row, column, or diagonal are called. Find if there is a Mingo and the time of the call when you find the Mingo.
Then is the encryption problem: replace each character in a string by multiplying the character (A=1, B=2, ..., Z=26) with a constant N, then taking the result modulo 26. Use the resulting number to replace the original character. If the modulo 26 is 0, use Z to replace it. For example, A=1 is replaced with D=4 if N=4.
The last problem is: Given the number of digits, print all possible "well-ordered numbers." For example, 138 is well-ordered because 1 < 3 < 8. 154 is not because it is not in increasing order. The details of these problems can be found on other websites.
The following metrics were computed from 808 interview experiences for the Epic Systems Software Engineer role.
Epic Systems's interview process for their Software Engineer roles is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Epic Systems's Software Engineer interview process.