Info Edge interview experience SDE intern'21 (Oncampus)

Hello! recently I appeared in Info Edge interview process for summer SDE internship'21 (Oncampus). Here is my detailed experience.

To know more about Info Edge, visit http://www.infoedge.in/corporate-overview.asp

 


Info Edge On-Campus Interview Experience 

The entire process as stated by the company: (For many years, there has been change in the process)

 

Online Test  

Technical round 1 

Technical Round 2 

Technical Round 3 

HR Round 


Every round was an eliminating round.

There was a significant gap of weeks to days between the online test and all Interviews due to COVID-19.

 

All personal interviews were virtual and conducted using Microsoft Teams. 

 


Round 1: Online Test 

 

This was the first test conducted on the firstnaukri.com platform. The test consisted of 35 or 40 MCQs that had to be solved in 40 minutes. There were two sections: 1 for 

quantitative/qualitative aptitude questions and other sections for technical MCQs, which consisted of DSA based and C/C++ output-based questions. 

 

Round 1

This went for about 45minutes.

I was asked these questions:

 

1) Introduction (projects and skills)

2) Language I use for coding

3) Language I used for my projects

4) Difference between private and protected variables

5) Difference between Abstraction and Encapsulation

6) Do Know webD, Know Mysql

7) Write a sql query (return count of people age group wise)

8) DS, which can be used for LRU cache

9) Is binary tree mirror, algo only

10) DNS

11) Normalization

12) Do like puzzle

13) Puzzle-math -->Find index of first occurrence of 1 in an infinitely-sorted stream of 0s and 1s. He said that he was satisfied with my answer.

 

He replied, “Good Job man, good job!”

The interviewer seemed highly professional but he also cheered when I got strucked while explaining.

 

After few days I got mail for round 2.

 


Round 2: Technical Interview

 

1) Introduction

2) How are you? What is your hobby?

3) Tell me about your project?

I explained him about image and how we can compress images. Told him that I used ML in it. He asked what is different in it from other such open source projects or anything which you have done new in it? I told nothing new in it. He said okay.

 

4) Q1. Given 3 sorted arrays. Print common elements in them. He has also written a test case.

I read the question loudly and stressing on the array, sorted. I asked him what would be the output of the test case. He said you told. Then I said him we have to print elements that are present in all 3 arrays. He said yes. I asked, can same number be present multiple times in all arrays? He said, arrays contain no duplicates.

Then I copied the test case into online IDE.

 

Given three arrays sorted in ascending order, print all common elements in these arrays.

    Input:

    ar1[] = {1, 5, 10, 120, 40, 9}

    ar2[] = {6, 7, 120, 9, 100}

    ar3[] = {3, 4, 15, 120, 30, 70, 9, 120}

 

Then I found that array was not sorted in the test case. He said he just randomly wrote the numbers. I can sort them.

Then I came up directly with an optimized O(n+m+k) approach and explained him. Also he was not responding quickly, thus signaling me to think again before speaking. Then he asked to code.

I wrote code that would give the correct answer. He asked to optimize conditional statements. Then I optimized it. He said to recheck. A bug came. I again improved code. Furthermore, he pointed out a mistake. At that time I was pushed to the backfoot. Then somehow I managed to screw up those conditional statements.

He did not made me run the code and said okay.(But the final code was optimized and would run without error)

 

5) Q2. Print all permutations of a string.

I asked him if the sting can have duplicate characters. He said no.

I explained how there would be N! permutations and it time complexity would be o(N!*N). He did not respond for a while, then asked can you optimize it. I said no, as it would be the minimum time that would be taken, explaining him that, there is N! permutations and length of each permutation is N.

Then I explained him how I change first letter by swapping with other letters and then calling a recursion.

He did not made me code it.

 

6) Puzzle 1: http://puzzles.nigelcoldwell.co.uk/fiftyfour.htm with a little changes.

We are to play a version of Russian Roulette, the revolver is a standard six shooter but He put two bullets in the gun in consecutive chambers. He spin the chambers, put the gun to my head pull the trigger. I survived. Then he given a chance to me that, either I can re-spin the gun or not.

Tell the probability that I would survive in next shot in both cases.

 

I carefully read the puzzle that he had put in the chat box. Then explained him what we have to find out. After a lot of misinterpretation, I understood that what he is asking is not the what question is asking. He only want, the probability to survive when the gun is not spin. (Meanwhile clarifications he slammed a lame joke to have fun, “you must have seen a gangster in Bollywood movies with gun…”)

 

I took time to think, then on IDE I tried to explain him by drawing 

$ $ @ @ $ $, representing open and bullet slots.

 And after taking time, I answer was 1/4 chance of dying if he do not spin(re randomize) the gun. He was not satisfied and asked something which I could not understand. 

 

Then Extending the puzzle further, I survived the second shot also, now what is the probability that I will survive the next shot.

After thinking I explained him and came with an answer 1/3.

He asked me to write the cases. I write cases by numbering the positions as 1 2 3 4 5 6, and said that revolver is round so I can number in any order. Then I write the cases numbering then and tried my best to satisfy again and again by my explanation.

But after seeing the puzzle online, I realized that he wanted me to write,

1 BB----

2 -BB---

3 --BB--

4 ---BB-

5 ----BB

6 B----B

 

7) Puzzle 2. I have some money in my pocket and visits 4 temples. Entering every temple, my money gets double, and I offer 100 Rs in every temple. Finally, after visiting all the temples, I have no money.

What amount of money I have initially?

 

I had done a similar puzzle, and thus solved it first on paper. Then told him that I can solve it using mathematical equations. Then explained him in detailed manner every step and at last reached to answer of 1500/16.

 

x ->t1->2x-100->t2-> 4x-300 -> t3 -> 8x-700 -> t4 ->16x-1500

   x=1500/16

 

Then I drink water and, while drinking, said don’t know why my throat is choking while speaking. He down his head and I think he wrote something. I do not know whether it is okay to speak such thing or not. He said “dhyaan rakho, bach kar rho…”

 

8) He asked if I knew about databases. And asked whether noSQL or RDBMS. I replied RDBMS.

He said to design Relational tabled for the scenario,

“a teacher can tech many students” I interrupted, his flow got broken. Then said, “a student can be taught by many teacher”. And then said, “many teacher can teach many students”. I wrote in short mt--ms , is this the only statement. He said yes. Then I took some time to think and replied that I will make 3 tables. 

Teacher(tid, tn, tphone….) 

Student(sid, sn, …)

Teaches(tid,sid), where tid and sid will be PK in Teacher and Student table while FK in Teaches.

 

Then he asked, find all teachers who teaches student4 (s4).

(Generally, when asked to give info about employees in sql, we have to give all rows matching to the condition.)

Here it was unsaid but by default was clear that we have to give names of teachers.

I though and start writing, then he said, “write query”.

I wrote, select tid from teaches where sid=s4;

I was about to speak more, he interrupted and said give teachers names. I am wrote a nested query for it.

 

Solution:

Select tn from teachers

Where tid in (select tid from teaches where sid=s4);

//In nested queries, take care of semi-colon. I do not remember where I put semi-colons, but above written is correct now.

 

PS: After searching what I wrote on ide, I found my answer

 

What I wrote there:

mt->teaches->ms

    

    teacher students teaches

    tid tn sid tid-sid

    

    s4

    

    select tn from teacher

    where tid in (select tid from teaches

                    where sid=4;)  <---mistake of colon

 

I explained the query and told him how IN operator selects the ids using OR strategy.

 

Then the then interview ended.(@55 minutes some seconds)

 

 

I am unsure how was it, as generally such interviews are very time bound like 45 minutes or 1 hour or so but mine was 55minutes.

 

Challanges/Mistakes/Tips

-Was difficult to make him explain my solution. This can be overcome by practising.

-Explaining in English(English communication)

-He written wrong test case, asking things different from what was asked in the puzzle written in chatbox. So, donot hesitate to clarify any confusion, if arise.

 

Tips:

Questions asked in interviews are easy, but instead of writing code we have to explain it and also need to tell the strategy and how we proceed. Also while normal coding we can change code many times, but in interviews we have to write correct code in minimum number of change(although we can take our time for it).

Also, variable names are important in interviews.

 

From my experience, an average coder can solve asked DSA question even after waking up in dead of night, but solving and solving along with explaining is quiet different. I advise everyone to practice interviews even if you feel that you are awesome at coding.

 

Take care of projects. Even though many say they do not impact, having good and own done projects is important.

 

Keep water in glass and not in bottle, near you. As it takes time to open a bottle and close it and this might distract you. Small things matter.

 


Round 3: Technical Interview

 

I was started with my introduction.

Q1. Then, the interviewer wrote a string in the chat box along with the required output.

Input: "Welc0me t0 inf0edge 123 !@#$"

Output: "cleW0em t0 fni0egde 123 !@#$"

He directly told me to solve without using any extra space, however can use memory for variables. I explained my approach and write a code, telling him how it would handle all corner cases. Then while running there came some typo and variable names mistakes. I re-run 2-3 times, and he said it is not good and I should first check it properly.

I also told him the limitation of the input I.e. if take an input from user using cin>>str then it would only accept string till space or end is encountered. From his reaction I felt, this was a good point to mention.

Finally, he was satisfied with it.

 

My code I wrote there:

https://ide.geeksforgeeks.org/HI276WQHIw

 

Q2. Next, he told me to crash the system. 

I could not understand exactly what he wanted. I put my best to ask and understand what exactly he wanted to ask. I asked again, getting confused 2-3 times. Even after that I was confused till 15 minutes till this question lasted.

I said I could crash the system if I request large amount of memory. I allocated large memory to string. Then he told asked what error will be received. I wanted to told him “compile error”, but mistakenly told him “runtime error”, then I corrected myself.

Then I told him, the system will crash if I run an infinite loop. And because online ide only allows us to run our code for maximum 5 seconds thus system will not crash. He was responding very late and the question was still not clear. (Just think, how can I crash online IDE?, there are other code running behind ide which will prevent it from crashing. If I was using my codeblocks ide, then I might be able to crash the system.)

He told calloc, new, linked list words in pieces…

I again allocate memory using new, he said it is a primitive datatype. I made a struct for node pointer. Then generate node in while(1) infinite loop. There was no output and SIGBART signal was there. While telling what my code was doing, I explained him wrong, then told that what I told earlier is not exactly what this code is doing. xD (I wanted to laugh for my silliness there but was crying why I did that). 

After, utter dissatisfaction and uneasiness to satisfy him with my answer, he moved to OS.

 

I was on backfoot.

Q3. 4 conditions for deadlock.

I told him, mutual exclusion, no-preemption and explained them. And I forgot the other two. I tried to recall by writting  1-->2p<--2-->3p, but couldnot. Then I told him, I have studied it a lot of times, but not able to recall at the moment.

 

He said, okay Mukul. Then tell me about Normal forms. Explain 1NF,2NF,3NF… taking own example.

 

My ide:

1nf

idhaarid -->name, (phone1,phone2)

 

 

sno->idarid,name

sno->idharid,phone

 

2nf

partial

 

(fname, sname), phone, rollno, .. ..

fname

 

ck

 

I have revised it. But I choose a very wrong example and then struggled with 1NF. Then explained the definition of 2NF. And he said okay.

He then asked if you have any questions for us.

I asked him 2-3 questions related to one other and based on his answer(followup questions). Then the interview ended.

 

 

Advice/Learnings/Suggestions

- Do not go to backfoot because of the interviewer’s reactions, of If you could not solve some question, or strucked somewhere or forgot something.

At that time, it often comes in mind that I will not be selected. Please, do not think so. Just say to yourself, its okay to forget things even if they are basic. (And you can also make the interviewer realize that one can forgot things and there is nothing bad in this, although he knows it very well).

- Take every question as first question of the interview and assume its result independently of previous ones. Thinking no matter, I have solved previous question or not. But I will solve this.

- Make yourself slow. Sometimes, we are strucked and just wanted to move out of that question. Then take some deep breadths. Make the environment slow and think with peace again about the question and answer.

- You must not regret even if it was an easy but bad interview when you have studied like anything. Results are not in our hands.

- Don’t waste time in mourning after bad interview. Get up and study again.

V.imp- After every interview, try to write the whole interview in detail and contemplate over the things and situations of the interview which you were in.

 

After 2-3 days I got mail for HR round.

 


HR Round:


Interviewer started with asking where I was then, then about family.

Then, she asked me to let her go through my resume and the projects I had done. (Only relevant and crisper introduction along with short explanation of things included in resume and projects)

Asked, “whether I am doing any other intern or freelancing work or not”.

Asked, “why you want to join Info Edge

Asked, “what can you bring to the table at the end of intern.”

Then, “If you have any questions for me”

I asked 2-3 questions. In one question, she said, “Its a good one”

 

 

On the same evening, I got informed about the results. Hurrah!

In the process, there had been only 1-2 cases when someone is rejected in HR round in Info Edge. In HR round they just only check that attitude should not be terrible.

Finally I was one in four selected candidates.

 

 

I hope you got to learn something from the blog. If you found it helpful then do show your gratitude in comments.

Thank you. 

 

 

Comments

Popular posts

Know how to have 27 hours in a day...

What to do when bored...