Epic System Interview – Set 2

Company : Epic System
College : Bits Pilani
CTC: $100,000 P.A.
Profile: Software Development

(Interviews were Telephonic)

No of Rounds: 2 Written Rounds + 2 Interview Rounds

Round 1: Written Test

There were two rounds of test. There was no time limit for both the rounds. The evaluation was done on basis of both time and accuracy.

It took 45-70 minutes for this round.

1) Section A: general aptitude questions.

2) Section B: A new programming language was given. You have to
understand the programming language and answer the questions that follow.

Round 2: Written Test 

There were four coding questions. We just had to write the functions. Any programming language even pseudo code was allowed.

Q1. Convert a decimal number into fraction (e.g. input is 0.5 (float) output will be “1/2” (string))
Q2. There is a question which is slightly modified version of maximum-subarray problem.
Q3. Given n. Generate all numbers with number of digits equal to n, such that the digit to the right is greater than the left digit (ai+1 > ai). E.g. if n=3 (123,124,125,……129,234,…..789)
Q4. You can swap only two consecutive elements. You have to show all steps to convert a string into another string (both strings will be anagrams of each other). E.g. GUM to MUG

GUM
GMU
MGU
MUG

Round 3: Telephonic Interview (15-30 minutes)

Q1. Questions were from resume only. They will ask about any project and various technologies in it.
Q2. Given and Array of A[1..n] bits, find the length of longest consecutive substring of 0 and 1 such that number of 0s and 1s are equal?

Round 4: Telephonic Interview (15-30 minutes)

Q1. Given two sequences of length N, how to find the max window of matching patterns. The patterns can be mutated.
For example, seq1 = “ABCDEFG”, seq2 = “DBCAPFG”, then the max window is 4. (ABCD from seq1 and DBCA from seq2).
Q2. How do you rotate a string of length n word by word with constant extra space in linear time ?

HR Round:

They asked general HR questions. (Like: Why Epic? Strengh/ Weakness.., etc.)

Tips / Advice: Written rounds are more important than the interviews. In the written (Round 2) test try to focus on code quality and time. Write comment as much as possible. Don’t waste time in peeping from others. Earlier submission will give you an advantage over others.

Thanks Anuj for contributing this article. If you would like to contribute, mail us your interview experience at [email protected] or write it here: Google Form . We will like to publish it on CrazyforCode and help other job seekers.

0 Thoughts on “Epic System Interview – Set 2

  1. Anony on July 14, 2015 at 3:55 am said:

    Round 2 Q3:

    written in python

    def q2(n):
    num = “”; unum = “”; ans = []
    for i in range(1, n + 1): num = num + str(i)
    for i in range(10-n, 10): unum = unum + str(i)
    num = int(num); unum = int(unum)

    for i in range(num, unum + 1):
    d = list(map(int, str(i)))
    for j in range(len(d)-1):
    if d[j] < d[j + 1]:
    if j == n – 2: ans.append(i)
    else:
    break
    return ans

  2. Anony on July 23, 2015 at 12:58 pm said:

    written in python 3
    {{{

    def scramble(old, new):
    old = list(old); new = list(new)
    print(”.join(new))
    for j in range(len(old)):
    letter = old[j]
    split1 = new[:j]; split2 = new[j:]
    location = split2.index(letter) #finds location of ith letter in new word
    for i in reversed(range(1, location + 1)):
    temp = split2[i]
    split2[i] = split2[i-1]
    split2[i-1] = temp
    print(”.join(split1 + split2))
    new = split1 + split2

    }}}

  3. Anony on July 23, 2015 at 1:02 pm said:

    written in python 3
    used # as indents

    def scramble(old, new):
    ###old = list(old); new = list(new)
    ###print(”.join(new))
    ###for j in range(len(old)):
    ####letter = old[j]
    ####split1 = new[:j]; split2 = new[j:]
    ####location = split2.index(letter) #finds location of ith letter in new word
    ####for i in reversed(range(1, location + 1)):
    ######temp = split2[i]
    ######split2[i] = split2[i-1]
    ######split2[i-1] = temp
    ######print(”.join(split1 + split2))
    ####new = split1 + split2

Leave a Reply to Anony Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Post Navigation