# eQ Technologic Interview Experience (Virtual 2021)

• Last Updated : 27 Sep, 2021

Background:

Date: 6 â 9 July 2021

Mode: On Campus, fully Virtual (through MS Teams)

Round 1(Online coding Round) â 60 mins + 14 mins:

This was a virtual drive on 6th July. The first round was the aptitude+coding round. The aptitude includes blood relations, directions, encoding-decoding, number series, passage, and basic quants. This was an easy round of 14 questions.

Later there was a coding round for 1 hour. They consisted of easy questions.

1. Printing a pattern:

Input

N=4

Output:

1

2*3

4*5*6

7*8*9*10

7*8*9*10

4*5*6

2*3

1

2. Given an array of size N and a variable k. You need to sort the array in such a way that the first k elements are sorted increasingly, and the last k are sorted in decreasing order.

Input:

arr=[2,5,6,4,1,3,9,8]

k=4

Output:

arr[2,4,5,6,9,8,3,1]

I was able to solve both questions. All the students who were able to solve both the coding questions were shortlisted. There were 59 shortlisted for interviews.

Round 2(Technical Interview -1)- 30 mins :

The interview started with Tell me about yourself? We had a brief discussion on our project. I made a Blind Assistance Project in AI/ML using Object Detection, had some discussions around distance calculations. Later on, went towards data structures. He asked me how to delete a node in a Linked List. I stated 2 pointer approach. He asked if I had Doubly Linked List then?

I answered that a single pointer is enough. Then proceeded with Reversing a Linked List question. I stated the iterative approach. He told me to optimize it. I stated the recursive version of the same. Then asked how to implement a stack with queues. I  wrote the code for this. Later on, he asked regarding Normalization(All forms with examples). Then he asked about Denormalization, Referential Integrity, Foreign Keys, ON DELETE CASCADE commands. In the end, he went with OOPs with all the concepts, asked me about the diamond problem, multiple inheritance in Java, Interfaces.

I could answer them and make it to next round.

Round 3(Technical Interview -2)- 60 mins :

I was asked regarding all the OOPs concepts. Later on, he said to share the screen and write all the concepts of OOPs using codes. I wrote codes about Abstraction, Inheritance, Encapsulation, explained Polymorphism verbally.

Then he asked regarding Databases and asked me to write a SQL query using INNER JOIN, COUNT, GROUP BY Clauses. It was to join two tables to find Employees who are working in which department along with their count. Some employees don’t have a department. So, had to find the count of the Null category too.

Later he gave me 2 coding questions:

1. Reverse a string without any inbuilt function

2. Find the middle element of a Linked List in one pass.

I could answer them correctly and make it to the next round.

Round 4(Technical Interview + HR-2)- 30 mins :

I was asked about my passions, strengths, weaknesses, inspirations. He asked me regarding my Internships. He was in a very aggressive zone. I was a bit nervous in this round. I would suggest being confident. He asked me a question that we work in AI/ML only 1%. You have experience with AI/ML. Why do you want to join eQ? At the end, he gave me a coding question to solve in under 45 mins and send the code over email. The question was:

Write a program in Java/C/C++ to output the calendar for a month. The method to print the calendar is to be called PrintMonth(mnth, yr)

Passed parameters are:

mnth – Month number – Numeric: 1 for January, 2 for February etc. ending with 12 for December. All other values are invalid.

yr – Year – numeric: 4 digit year. Valid values are 1980 to 2480.

The output is shown below for PrintMonth(7, 2020):

July 2020

+—–+—–+—–+—–+—–+—–+—–+

| Mon | Tue  | Wed  | Thu  | Fri   | Sat   | Sun  |

+—–+—–+—–+—–+—–+—–+—–+

|          |         |1        | 2      | 3       | 4      | 5    |

+—–+—–+—–+—–+—–+—–+—–+

|6       |7       |8       |9      |10      |11     |12     |

+—–+—–+—–+—–+—–+—–+—–+

|13      |14     |15     |16     |17     |18     |19     |

+—–+—–+—–+—–+—–+—–+—–+

|20      |21     |22     |23     |24     |25     |26     |

+—–+—–+—–+—–+—–+—–+—–+

|27      |28     |29     |30     |31     |         |         |

+—–+—–+—–+—–+—–+—–+—–+

Please do not write monolithic code. Break up the code into modular constituent Methods/functions/classes.

Please note and maintain the alignments. Please use spaces exactly as shown and do not use tab (â\tâ).

Assume you have the following method in your class and can call it. The method is called:

MonthStartsOn(monthNum, yr)

Where monthNum accepts parameters 0 for January, 1 for February etc. up to 11 for December,

yr is the year as passed above.

The method returns numbers from 0 to 6. It returns 0 for Monday, 1 for Tuesday etc. and 6 for Sunday. It returns -1 for any value of the parameters <0 and >11

Although the question seems to be very easy, but I made couple of issues in the code due to nervousness. I tried my best to stay calm but I believe in the rush I made some really silly mistakes that didn’t let me to clear this round.

The code that I wrote after the result was out and after solving all the bugs was:

## C++

 `#include ``using` `namespace` `std;`` ` `int` `total_days(``int` `monthNum, ``int` `year)``{``    ``if` `(monthNum == 0 || monthNum == 2 || monthNum == 4``        ``|| monthNum == 6 || monthNum == 7 || monthNum == 9``        ``|| monthNum == 11) {``        ``return` `31;``    ``}``    ``else` `if` `(monthNum == 3 || monthNum == 5 || monthNum == 8``             ``|| monthNum == 10) {``        ``return` `30;``    ``}`` ` `    ``else` `if` `(monthNum == 1) {``        ``if` `(year % 400 == 0``            ``|| (year % 4 == 0 && year % 100 != 0)) {``            ``return` `29;``        ``}``        ``else` `{``            ``return` `28;``        ``}``    ``}``}`` ` `string MonthName(``int` `num_Month)``{`` ` `    ``string months[] = { ``"January"``, ``"February"``, ``"March"``,``                        ``"April"``,   ``"May"``,      ``"June"``,``                        ``"July"``,    ``"August"``,   ``"September"``,``                        ``"October"``, ``"November"``, ``"December"` `};`` ` `    ``string result = months[num_Month - 1];`` ` `    ``return` `result;``}`` ` `// Just a call is needed for this function :``// MonthStartsOn(monthNum-1, yr); You can test by replacing``// int present=MonthStartsOn(monthNum-1, yr);``// with``// int present=2;``void` `PrintMonth(``int` `monthNum, ``int` `yr)``{``    ``int` `date = 1;``    ``int` `present = MonthStartsOn(monthNum - 1, yr);``    ``int` `max_days = total_days(monthNum - 1, yr);`` ` `    ``cout << MonthName(monthNum) << ``" "` `<< yr << endl;``    ``cout << ``"+-----+-----+-----+-----+-----+-----+-----+"``         ``<< endl;``    ``cout << ``"| Mon | Tue | Wed | Thu | Fri | Sat | Sun |"``         ``<< endl;``    ``cout << ``"+-----+-----+-----+-----+-----+-----+-----+"``         ``<< endl;`` ` `    ``for` `(``int` `i = 0; i < 5; i++) {`` ` `        ``cout << ``"|"``;`` ` `        ``for` `(``int` `j = 0; j <= 6; j++) {`` ` `            ``if` `(j < present && i == 0) {``                ``cout << ``"     |"``;``            ``}`` ` `            ``else` `if` `(i >= 0 && date <= 9) {``                ``cout << ``" "` `<< date << ``"   |"``;``                ``date++;``            ``}`` ` `            ``else` `if` `(i > 0 && date > 9``                     ``&& date <= max_days) {``                ``cout << ``" "` `<< date << ``"  |"``;``                ``date++;``            ``}`` ` `            ``else` `if` `(date > max_days) {``                ``cout << ``"     |"``;``            ``}``        ``}`` ` `        ``cout``            ``<< endl``            ``<< ``"+-----+-----+-----+-----+-----+-----+-----+"``            ``<< endl;``    ``}``}`` ` `int` `main()``{``    ``int` `year;``    ``cout << ``"Enter Year"` `<< endl;``    ``cin >> year;`` ` `    ``int` `month;``    ``cout << ``"Enter Month"` `<< endl;``    ``cin >> month;`` ` `    ``PrintMonth(month, year);``    ``return` `0;``}`

I would suggest going through all the Interview experiences and prepare accordingly. I would suggest being calm, composed, and stable in your interviews. The code is easy. You can use classes, functions, to make it more modular. Lastly, stay confident. You will be able to make it. I believe in you!!! Wish you all the very best!!

A total of 13 students were selected after this final round.

My Personal Notes arrow_drop_up