Thursday, January 22, 2009

Adobe Interview of Vikalp Gupta

Hello All,

Below are the questions that were asked to me in the interviews for the development profile in Adobe Systems. Hope you will find these questions helpful while preparing for Adobe (or any other company).


First Tech Interview: -
--> Tell me about yourself.
--> Why you want to switch so early (as I have just 7 months experience in Aricent).
--> Why Adobe.
--> What is your rank in the batch. Bade saare fadde maarke maine is question ko answer kiya tha as, rankwise, I told him that I will be in the bottom 10 in my class. Then he asked why shouldn't we hire toppers. To kuch na kuch fadde maarke maine use chup karvaya.
--> There is a matrix of N*N order. You are given two values, i and j. Find out whether the pair (i, j) represents any of the 4 corner elements in single 'if' condition.
--> 100 doors puzzle. There are 100 doors. Initially they are all closed. In ith pass, the state of all the doors that are divisible by 'i' is flipped, where i continues from 1 to 100. After 100th pass, which all doors will be in open state.
--> There is an input string such that there is only single blank space between each word. There is no other whitespace character except for space. No trailing and leading spaces either. You have to take out the tokens from the string with minimum memory requirements. I gave many solutions but after each solution, he added one or more constraints. Actually what he wanted was that the signature of the function should be like:
char** Tokenize(char *input_string)
He wanted that the memory for each token should be allotted only inside the function. You cannot count the number of words. You have to do this only in single traversal of characters of the input string. He wanted that after calling this function, user should be able to print any token in order(1). Yes, you can modify the input string.
--> What all data structures you have heard of. What is the best data structure to implement dictionary. How will you do it.
--> What is malloc. What is calloc. What is the difference between the two. If they perform the same type of function, then why to use calloc. What was the need for creating and standardizing calloc when we can use malloc.


Second Tech Interview: -
--> Tell me about yourself.
--> Tell me about your project that you are currently working upon in Aricent.
--> Then he asked some project specific things like what are the different protocols, their position in the network, their usage, my contribution in the project etc.
--> What is an XML file. You are given an XML file. You want to store it in memory. What data structure will you use for the same, so that different queries based on that XML file can be answered most efficiently.
--> What is the best data structure to implement dictionary. How will you do it (not complete code but just the data structure and the algo).
--> Then he drew a graph and asked me to do the Depth First Traversal of the vertices of the graph.
--> Then he asked me to write the code for the same (Depth First Traversal).
--> Different ways of inter process communications.
--> What are unnamed pipes.
--> What is the corresponding IPC mechanism in windows. (Actually he wanted to get sockets as the answer as We have used sockets in the simulation of FTP in fourth semester).
--> What is fsck in unix. What were some of the inconsistencies you handled in it and how.
--> One or two more questions were there which I dont remember.


Third Tech Interview: -
Is bande ne meri bahut buri tarah se maari thi, kya nahin poochha tha isne, dimaag kharab ho gaya tha is interview ke waqt to. Us din saare interviews hone ke baad mujhe lag raha tha ki agar nahin hua to isi interview ki wajah se nahin hoga kyunki jisne yeh interview liya tha, he was the hiring manager.
--> Why you want to switch so early (is question par hi usne kam se kam 10-15 min argue kiya hoga and literally bahut sunaya tha)
--> Diference between C and C++ (apart from OOPS and Generic programming).
--> Difference between malloc and calloc.
--> Difference between malloc and new and free and delete.
--> Which is better, malloc or new. And why.
--> Different mechanisms for IPC.
--> What are pipes. What are sockets.
--> What are events in Windows applications. Is question par maine kaha ki mujhe kuch nahin aata windows application ka, humne bahut basic kiya hai is subject mein, to usne kaha ki kitna basic, just the hello world program.
--> What is the unix file system.
--> What is FAT. What is the first block in FAT.
--> What is webmail (our oracle project in fourth semester). Explain it.
--> Draw the OSI model in networking.
--> Draw the corresponding TCP/IP model and map the diferent layers withOSI model.
--> Whats the use of MAC address.
--> What are IP addresses.
--> What is TCP and What is UDP.
--> FTP works over what. TCP or UDP. And why.
--> What is ping command.
--> ping works over what. TCP or UDP. And why.
--> Shayad usne kuch class hierarchies par poochha tha.
--> Explain your project.
--> What is dll.
--> What is the difference between dynamic linking and static linking.
--> How do you do static linking.
--> How do you do dynamic linking in windows (There are 2 methods, mujhe ek pata tha, but he asked the second method too).
--> 2-3 questions aur the but woh yaad nahin. Actually main jo bhi bol raha tha, koi bhi ek word pakad kar woh shuru ho jaata tha.


Fourth Tech Interview: -
--> Why do you want to apply for Adobe.
--> In classes, how do you declare and define const and static data members.
--> What do you mean by initializer lists.
--> What all type of data members can be initialized by using initializer lists.
--> Order of calling of constructors in class hierarchy.
--> Order of calling of destructors in class hierarchy.
--> What do you mean by virtual function.
--> Can a destructor be virtual. Why or why not. Give example to show the usage of virtual destructors.
--> What are inline functions.
--> Is it possible to have a virtual inline function. Why or why not.
--> What will happen if you do 'delete this ;' inside the destructor of the class.
--> What is upcasting.
--> Suppose there is a Base class and a class Derived from the Base class. Suppose you do:
Base* ptr = new Derived;
and then you do delete ptr ;
Then which class' destructor will be called.
--> You are given a BST. Find the least common ancestor. Give the algo.
--> Two linked lists are merged at some point. Find that point of merging. Write complete code for that.
--> Again IPC mechanisms.
--> Again pipes and sockets.
--> One puzzle: There is a bag containing 50 Red and 50 Blue balls. A coin is tossed. If head then do nothing and if tail, a ball is taken out from the bag without looking into the bag. You do this tossing of coins three times. What is the probability that after tossing the coin three times, you get three red balls.


HR Interview: -
--> Tell me about yourself.
--> Why Adobe.
--> Why should we hire you.
--> Three things your manager will say about you.
--> Where do you see yourself three years down the lane.
--> The areas in you which needs improvement.
--> What is the relation between degree fahrenheit and degree celsius.
--> At what temperature is degree fahrenheit same as dgeree celsius.
--> Multiply 125 with 125 in the fastest way you can.
--> One puzzle:
6 6 6 = 6
7 7 7 = 6
8 8 8 = 6
9 9 9 = 6
Use any mathematical operator or any thing you have learnt in maths to make the LHS and RHS equal.


Fifth Tech Interview: -
--> What is OMA (Open Mobile Alliance). What do they do. (Actually it was related to our training time project in Aricent).
--> Explain the webmail.
--> Your role in webmail.
--> How you communicated with the Database.
--> Explain what you did in the simulation of FAT (Explain each and everything in that). He asked me to give an example of how different data structures were used.
--> Explain ther file system of Unix.
--> What are inodes.
--> What is super block.
--> Is there any pointers involved in the inodes.
--> Explain FTP.
--> What are sockets.
--> What are the actual APIs you used in sockets (like listen, connect, open etc).
--> Is 'listen' function is used on the client too.
--> How did you handled multiple client requests.
--> Did you use same port number for both receiving requests and sending responses on the server (in FTP).
--> He asked me to explain our project, in detail, that we did in training period in Aricent.
--> Explain your current project.
--> 2-3 questions on pointers.
--> Usage of unions (yeh mujhe nahin aata tha).
--> My family background.

All the Best... :)

No comments:

Post a Comment