Others

ARUN CHAKRAVARTHI
0
0
89

9 months ago
Odessa Technologies Interview Experience
I applied for Software Engineer post in Odessa technologies through my college on campus drive.
The preliminary round was based upon solving 3 programs given through skill rack platform. 10 students were selected from my department to attend the drive. Approximately 50 from our college.
On the day of the drive we were given two choices either to apply for software engineer or software quality tester. 8 of us chose to apply for software engineer and 2 chose software quality tester.
The first round for software engineer job was held in Hacker Earth platform. The test contained 18 MCQs based on aptitude,verbal,logical and flowchart interpretation.Followed by it we had 3 programs one of easy category worth 50 points, one of medium category worth 100 points and one of hard category worth 150 marks. We were provided totally 1 hour 30 minutes to finish the first round.
I was able to solve the easy and medium programs but i had time complexity issue with the Hard categorized program.
The first problem was based on Arrays, The second was based on strings and the third was based on constraint satisfying problem within the given time complexity.
None of us made through the first round, but it was a good experience to solve the problems.
My friends who attended software quality testing said that they had two rounds and the first round was fully based on aptitude, logical, verbal MCQs and it was a bit easy, the second round was based on programming, but none of them got through the first round to attend the next.

View
Others

SUPRIYA.R
0
0
77

9 months ago
Cisco Interview
Status: Full Time job + 6 month internship offered.
It was a 4 round interview. The first round was a written round with 50 questions(20 aptitude + 30 technical) for 1 hour. The second round was a technical round(1 hour). The third was a technical + management round(20 mins).The fourth round was a short HR round(10 mins).
In the first round, 20 aptitude comprised of simple-medium-complex aptitude questions.Some were answerable within 10 seconds, some took 30-40 seconds and the harder ones took slightly over a minute to solve. The questions were based on all the classic aptitude topics.Some questions were stated in a confusing way, but other than that, no hiccups were present. The technical side had 30 questions. roughly about 10 from C, C++, OS were asked, another 5-6 were from electronics side.Around 5 from networking topics and the rest were based on data structures, complexity estimation,and topics around that. I was able to answer most of the aptitude questions(17-18) were correct out of 20 and more than 22 questions were right out of 30 in the technical side. I think the cutoff for the second round was around the 40 mark, which i had gotten and i made it to the second round.
In the second round, the interview started off with simpler,shorter questions, like for example the interviewer pointed to one of the technical questions in the previous round(the interviewer has your answer sheet from the previous round) and asked me to explain the approach i had taken to solve the problem. The question he asked me to explain was a recursive function, and i had to estimate the worst case time complexity of the function. the function was something like this.
function(params)
{
...//terminating condition
else..
return function(params-1) + function(params-1)
}
The answer to this was O(2^n). The interviewer modified the question to this:
return (function(params-1) + function(params-1)) * function(params-1)
The complexity of this was O(3^n). He asked me to derive it on paper which i did. The next question was regarding how to set the nth bit in a 32bit-integer. The answer was pretty straight forward. variable | 1<<(n-1). The next question was about a linked list. The interviewer asked me print a singly linked list in a reverse manner. After that we moved on to trees. The first question was to find the min element in the tree. The second question was to implement level order traversal in trees. After i did that, he asked me to traverse the tree and print it in reverse level order fashion, but the associativity of the child node should be from L-R. for eg..
4 Then the answer would be:
/ \ 1357264
2 6
/ \ / \
1 3 5 7
After taking a few hints from the interviewer i was able to code it up without errors.
The next question was to print the tree in a zig-zag manner. ie:
for the tree above the zig-zag traversal would yield: 4267531.
After thinking for some time, hints from the interviewer, i was able to code this up as well.
Basically by this time 1 hour was up. The key points the interviewer looked for, was my approach to the problem, error-less coding, All corner cases must be taken care of while implementing the program.The most important thing is you should be sure of your solution. The interviewer asks you if the solution is right or wrong, here he is checking your confidence, try to dry run the program once or twice after coding it up, this would help with the confidence. Also , try to speak as much to the interviewer about your thought process, this not only gives a better opinion to the interviewer, but if you tell him where your stuck, he/she might give you clues to proceed further.
After answering all the questions with hints from the interviewer , i qualified for the next round.
In the third round, The technical-management round., the key focus was your thought process, they were not too keen about the technicality of the solutions. The interviewer asked me what were my favorite topics, and i replied data-structures and algorithms. Then he asked me to code up a part of a social network were people were nodes and different types of connections existed between them. my job was to write functions to connect any two nodes of the graph, and also another function to check if 2 nodes are directly or indirectly(transitively) connected.
I asked him, whether all these edges/connections were directed or undirected, so he asked me to assume they were undirected for simplicity. Then i was asked to come up with a data structure to handle these operations. It was obvious that it was a graph structure and the nodes had user details and a edge-list inside it.
the socialGraph class had a insertion,deletion functions and connect(node*,node*) ,
isconnected(node*,node*) functions as friend functions to connect 2 nodes and check if 2 nodes are connected. connect function was straight forward ,as i had to append node reference to the edge-list of the node.
Then to check if 2 nodes are connected, i did a DFS from the source node to the destination node. The interviewer asked me to make the code such that it could scale. So i suggested that we could do a A* search instead of a DFS to make the search space smaller. The interviewer seemed satisfied with my solutions and then we moved on to the other questions. He asked me about my projects, the roles i have played in various clubs in the college, my future plans, why Cisco? and other simple questions like that.
I did well enough to get qualified for the final round which was a casual HR round where they asked simple questions like the meaning of my name ð??? and then i was given a evaluation form to fill, and they asked me some questions on that which i could answer.
The interview overall was reasonable, but certainly made me think out of my shoes, and strong knowledge in Data structures and algorithms helped me pass this interview.

View
Others

SURYAPRABHA.K.H
0
0
104

9 months ago
CommVault Systems
Commvault had recently visited our college. They were looking for both software developers as well as people for QA. Both had similar packages. Coming to the selection process, we were given a choice of opting for any one profile, days before the online test. I opted for the DEV profile. Everyone who applied were eligible for the test provided their cgpa was more than 8. There were 3 rounds in total. My description covers only the process for dev profile. QA had a completely separate process.
Online test (2 hrs) :
The online test had 6 programs to be solved, 3 in c/ c++ and 3 in java. The 6 questions had a total weightage of around 100 marks. They were pretty easy and had to be solved in 90 mins. Questions:
One was direct sorting
One was resizing an array dynamically
One was making a circular linked list into 2 halves
Coming to java, one was replacing all duplicate characters in a string with its next character and final string should not hav any duplicates.
One was finding kth item in a BST
One was finding no of even, odd, and prime numbers in an array
Partial outputs were considered. Then there were 16 aptitude questions with 1 mark each. But only 20 mins. Aptitude was time taking but its weightage was less so it wasnâ??t a problem. We canâ??t rely on aptitude to get past the online test.
21 were selected from the 450 members who applied for dev profile.
I got through the first round by getting outputs for 5 programs both full outputs and partial outputs together. People who had similar score in c and java were only selected.
Massive Coding round(9 hrs) :
This is a massive coding round for the 21 of us who were shortlisted. They wanted us to create a de-duplication engine that acts as a file storage, retrieval, and handling system. It must take some files as inputs, take data from it in chunks of 8 byte size and store it in some efficient data structure of our choice. The data structure should be robust and must not store duplicate chunks. Instead, it has to make a reference to the original chunk that is repeated.
They gave us 1 and half hr to come up with the most efficient design. Every 1 hour or so they kept sending off people whose design is not so good. They gave us some helper functions and header files as well. They kept helping us with the code and helped solving minor issues as well. They kept monitoring our performance throughout the round. I stayed till 8 hours and by the time i was sent away, there were only 7 people left.
By the end of 9 hours only 4 people made it.
Personal interview(final round) :
The 4 people who made it, gave a personal interview which was technical stress test, immediately after the second round. It was to test their limits of confidence in the subject and how they can handle extreme pressure.
On the whole, it was an amazing experience,(especially the second round) and it was not easy. Honestly speaking it was a bit of an extreme process of selection. I have never faced or even heard of such a selection process before. Only people with past experience in such type of projects, very strong determination and patience can make it through. I loved the whole process and i am glad i was able to experience it.

View
Others

SUTHERSAN.V
0
0
260

9 months ago
DIRECTI INTERVIEW EXPERIENCES
I applied for Directi off-campus on its career website and I got a call. There were total 5 rounds.
Online coding round: 1.5 hours
There were a total of 3 questions. All of them were coding questions covering ad-hoc, dp ,hashing ,graphs etc and you could do it only if you do regular online competitive coding. This round was the toughest and you should pick wisely, the questions you want to attempt. I did two of these.
Q1- Blueberry Cheese Cake:
Problem description
There is a school in a village. It has N classes. One fine day, someone donated B blue berry cheese cakes to schools. Now you need to divide these cakes such that:
Each class gets at least 1 cake.
Each class will share the cake(s) among students.
Your aim is to minimize the maximum number of students per cake in any class.
Input
The first line of the input contains two space separated integers N and B denoting the number of classes and total number of blue berry cheese cakes, respectively.
Next N lines contain number of students in each class.
Output
For each test case, output the maximum number of students who will share a cake.
Constraints
2 <= N <= 5*105 N <= B <= 2*106 1 <= number of students in ith class <= 5*106 Sample Input - 1 1 2 35 Sample Output - 1 18 Sample Input - 2 2 7 20 50 Sample Output - 2 10
Q2: Poor Valet
Our Chef is opening a new restaurant in the city. Today being the inauguration night of his new restaurant and Chefâ??s huge popularity has attracted a large crowd for the grand opening. For convenience of the customers, cars of all the customers have been marked with a number from 1 to N where N is the total number of cars, corresponding to their parking space number in which each car has to be parked. Due to the large crowd, the car parking is full except for one parking space. Moreover, as the cars came too frequently, they could not be parked in their respective parking space. Poor valet at the restaurantâ??s parking, Raka, is left with the arduous task of parking the cars at their respective places. Luckily for him, parking has been closed and no more cars are coming and he can now arrange the cars in their proper places. As Raka is left alone to park the cars, he can only move one car from one parking to the
other parking. He can use the empty parking space to move the cars aroung. He wants to arrange the cars in as few moves as possible. Raka asks you for help in finding the optimal strategy to arrange cars in their proper places.
Input
An integer T denoting the number of test cases.
For each test cases there are 2 lines.
The first line cointans a single integer N where N denotes the number of cars.
The second line contains N integers
K0 to KN-1 where Ki represents the number marked on the car standing at parking space number i in the initial configuration.
Parking lot number N is left empty.
Output
For each test output a single integer M, where M is the number of car moves required to arrange all the cars to their proper location.
Example
Input:
2
3
1 0 2
4
2 1 3 0
Output:
3
4
Q3: XML Validator
Problem description
Letâ??s define a string as an opening tag, where x is any small letter of the Latin alphabet.
Each opening tag matches a closing tag of the type , where x is the same letter.
Tegs can be nested into each other i.e., one opening and closing tag pair can be located inside another pair.
Letâ??s define the notion of a XML-text:
1) An empty string is a XML-text
2) If S is a XML-text, then â?? S â?? (quotes and spaces are for clarity) also is a XML-text,
where a is any small Latin letter
3) If S1, S2 are XML-texts, then â??S1 S2â?? (quotes and spaces are for clarity) also is a XML-text
You are given a string. You have to verify if the given string is a valid xml or not.
Input
First line contain T number of test cases
For each test case:
Only one line containing xml tagged string S.
Output
For each test case,
One line containing a string TRUE if s is a valid xml FALSE if it is not.
Constraints
0 < T <= 10 0 < length of S <= 10^5 Example Input: 2 <a><b></b></a>
<a><b></a>
Output:
TRUE
FALSE
Explanation
In the first example, <b></b> is a valid xml text inside another valid xml text <a></a>.
Hence total string is XML text
In the second example <b> has no matching pair and hence string is not valid xml text
Round 2 : Face to face (Skype- 1 hour)
This was a DS+ Algorithm +coding round. They said there will be three DS+Algo rounds and it is necessary to pass any two of them , I passed the first two so they didnâ??t took my third.
Q1- Given n ranges [a1, b1], [a2, b2], [a3, b3]â?¦. [an, bn] where all the ranges lie between [0, 10^6]. All the entries are integers. Give total number of unique integers across all the ranges.
Example:
Input:
[1, 3]
[4, 9]
[3, 7]
output: 9
Here he insisted on making optimal code after my first approach, and approved the second one and asked me to code it. It has some good corner cases.
Q2 : Check if an array can be divided into pairs whose sum is divisible by k.
Input: arr[] = {92, 75, 65, 48, 45, 35}, k = 10
Output: True
We can divide array into (92, 48), (75, 65) and
(45, 35). Sum of all these pairs is a multiple of 10.
Round 3: Face to Face (skype â?? 1 hour)
Also a DS Algo round. One question was asked in this round.
He asked to explain about graphs and dfs general questions and asked to explain dfs code and what are its applications. Then he gave me a question.
Q-You are given a tree .Each node can have any number of children not specific. Now we create a string of 0s and 1s .Firstly assume you are traversing in dfs so whenever you traverse a node you write append 1 in string traverse all its children and grandchildren, now when you again return to this particular node with all children traversed you append 0 to string and return further up . This way you have to string with whole traversal .
Example take a tree with a root, its two children and the left child has one more child. Its corresponding string will be 11100100.
Now the actual question is, given this string for a tree, firstly obtain this tree structure from this string and secondly identify whether this corresponding tree structure can have more than 1 string possible i.e other than the one given.
(Hint : DFS can be done in different ways depending on which child you traverse first. Also think on tree isomorphism, for all its sub children.)
I took time ,discussed every step with him, he was helpful and he asked me to make the code. I was able to do it, this interview lasted 80 mins.
Round 4 : Tech Round (Skype â?? 45 mins)
This round consisted of OS, DBMS , Networks and basic computer fundamentals. We had a detailed discussion on all answers
Q1- about producer consumer process and all its conceptual details
Q2-solution of producer consumer problem, all the solutions(hardware and software) with explanation of all of the three conditions with examples(mutual exclusion, progress and bounded wait)
Q3-. It led to locks and semaphores. Asked me what is mutex locks and applications of locks and semaphores.
Q4- Process related one question, explaining for one program all its stages as a process and its processing (basically the new->ready->running etc).
Q5- What is swapper?Its working.
Q6- Dispatcher and functioning.
Q7- Thrashing and consequently then he went asking demand paging segementation.
Q8- What is HTTP? How is it a stateless protocol.
Q9- OSI model and its real life analogy if I knew any.
Q10- TCP/IP model and how is it different than OSI.
Q11- One SQL query ,I donâ??t remember exactly, but it was on group by and had concepts of sub-query and join.
Q12- Asked me indexing, types and which data structure to use.I told Btrees, and asked to explain how and why it helps. He confused me with BSTs and asked although Time complexity will be same , then why Btree (I thought and discussed ,then came to conclusion about Disk writes)
Round 5 :(overall -1:30 hours ,Skype)
This was taken by some big person sounded like senior manager/ED.
This was total tech+ds+algo+HR.
Q1-Asked me about my internship project in detail, about technologies used, how much I contributed etc.
Q2- Design a Localized Twitter, which shows the tweets of people within 2 miles of radius . Handling the cases
2.1-Everytime a person tweets (within 2 mile) it should appear on your page instantly, basically Pushing. (optimization of this was asked)
2.2-Design the database tables, show relationships between them, what attributes am I taking and why ?
2.3- Asked to write 2 queries about pulling data from Database.
2.4-Asked to optimize one query, I gave some methods about using joins and subquries but he gave a hint of using indexing , so I used indexing (used Btrees for indexing â?? didnâ??t write btree code, just concept)
Q3-Explained me a concept i.e given an array of size n, containing numbers from 1 to n, asked me to write an array containing the current numbers nearest number in its left ,which is smaller than current number.
Now question is given this (second one) array only, can you make the previous one? Asked me to code my logic.

View