# Teradata Interview Experience | Set 5 (On-Campus)

• Last Updated : 07 Dec, 2022

Teradata has visited our campus on 18 July 2016.
They hired for two profiles: Developer and Test. I was shortlisted for the developer profile.
The placement Agenda consisted of the following rounds:

1. Written Test
2. Technical Round – I
3. Technical Round – II
4. HR round

In the rest of the article I present to you the complete details of each round.
Written test: 20 MCQ’s – 45 minutes (No negative marking)

1. Scheduling based question in operating system. The scheduling algorithm mentioned in the question was shortest-remaining-time-first algorithm. We have to calculate the percentage of time the CPU is idle (Additional complexity to the question was the processes mentioned have I/O requests apart from the CPU request)
2. Predict the output of the following program:

 `char``*gxxx()``{``static` `char` `xxx[1000];``return` `xxx;``}``main(){``    ``char``*g =``"string"``;``    ``strcpy``(gxxx(),g);``    ``g = gxxx();``    ``strcpy``(g,``"oldstring"``);``    ``printf``(``"g : %s"``, g);``}`

3. Two programs on BubbleSort which asked the number of swaps performed during the execution of the algorithm. (In one question we had a sample array, in another question we have an array of size ‘n’, indicating general case).
4. A program was given in question. We had to predict what the program does. (The program given in question was an iterative implementation of binary search).
5.  Given a binary tree, in what order should you traverse so that the we can generate a mirror image of it.
6. What data structures do you use to implement recursive algorithms in iterative manner.
7.  Given a graph with ‘n’ nodes and ‘e’ edges, what is the sum of degree’s of all the nodes in the graph. (Express it in terms of ‘n’ (and/or) ‘e’)
8. Some questions on computer architecture, which asked about how an assembler implements an if-statement
9. What does the debugger need from the OS in order to perform its functionality. Options included : Debugging info, Write permission to the read-only space of the process, etc.
10. Given the post order traversal of a binary tree, find the pre order traversal of it.
11. Difference between const char *p and char const *p (We had to choose from a list of options).
12. Suppose you are allocating fixed sized nodes every time, what would be the best partition location method for an OS to allocate memory (Best fit, Worst fit, First fit, Next fit)
13. ```void q(int i){
if(i >1){
q(i/2);
q(i/2);
}
cout <<"*";
}
```

How many stars does the above program print for a call to q(5)?

Technical Interview – I

• The interview started off by a discussion about my resume, internship experience and the projects which I have done during my undergraduate.
• I had previously interned as an Android developer at a start-up company, so the interview started asking questions about it.
• There is a server which will return a list of food items which are populated in the user’s screen in a random order. Now suppose that the user wants to add a filter option to it in order to sort them based on certain criteria. How will you design that?After putting a little thought to it, I told about maintaining a linked list since the number of items are not constant. Also, using a dynamic array would be useless since we don’t know the size ahead of the API call and also, the reallocation of arrays and insertion between the arrays would be costly compared to linked list.  After discussing about the problem, finally, the problem got reduced to implementing a sortedInsert() function which takes a head node of the list and the node to be inserted (in sorted manner) as parameters.
The interviewer added an extra constraint on the node structure of the linked list. Suppose that there are many fields present in the node structure like: price, popularity etc., of the food item how will you scale your method so that you can incorporate everything into the same function. I tweaked the implementation of the method so that instead of comparing the data value in the linked lists we can call a separate compare function in that way we can incorporate additional needs of the user such as: filter based on price and filter based on popularity of food item.
• The next question was about adding 2 numbers represented by linked lists. (The most significant digit of the given number being the head of the list.)

Finally, there were few questions on Trie data structure. How it is implemented? Inserting a word into the Trie. How can you make it more space-efficient? Complexities etc.

Technical Interview – II (Entire interview was purely C based)

HR Round

There were two interviewers. It was more like a conversation rather than one on one QA session. Although it was lengthy compared to the previous interviews it served as an excellent experience.

• General questions about the things which I have mentioned on my resume.
• Past academics (intermediate and 10th).
• Internship discussions.
• What is the one achievement which you are proud of?
• Do you want to work on client products or product of your own idea?
• Do you like maintaining codebases or writing entirely new code from scratch?
• What if you are given maintenance work or testing work at Teradata?
• What do you expect from the company?
• What do you consider as work satisfaction?
• How many years can you work at Teradata? Bond discussions. Will you work 5 years, or will you leave after the bond?
• One logical problem related to tic-tac-toe game. You are given a tic-tac-toe matrix with certain X’s and O’s filled. You have to determine who is the winner. Take any approach which is not brute force. How can you reduce the number of comparisons?

Final Verdict

You need to have a sound knowledge of C programming language.

• If you practice questions from GeeksforGeeks for data structures and algorithms, then you are good to go.
• OS concepts are also necessary in order to clear the first round.
• Stay calm and relaxed during the interviews. The interviewers are in fact very friendly.
• Above all, have confidence in yourself. All the best.

If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.