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.

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

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

}}}

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