This test had 2 sections and it was conducted on HackerRank platform. Section-1 consisted of Aptitude, Logical Reasoning, Determine the output of given code, OOPS and some theoretical questions of Data Structures. Section -2 consisted of 3 coding questions. One question is of Easy level and the remaining 2 are Medium to Hard level for me. After this test, 36 students were shortlisted for interviews.
This is the First technical round and it is for 90 minutes. My interview started 10 minutes late and this round lasted for around 75 - 80 minutes for me. The interview started with Tell me about yourself and then he asked me Why do you want to join in software industry even though you are from EEE? ( Prepare a rough answer for this if you are not from CSE ) . Then he asked me to share my screen and told me to open any compiler or notepad which I am comfortable with. 1) Given an Array of 'N' numbers and a target sum, you need to print the pair if there exist two numbers in the array whose sum corresponds to the target sum otherwise print "No pair is found". I started telling my approach and he was convinced and told me to write the code and had done the Dry run with some sample inputs. Then he asked me print all the distinct pairs in that array whose sum corresponds to target sum and explained my approach and wrote the code for that. Then he asked if I am comfortable with Binary Trees or not? I said yes, then he asked some theoretical questions on binary trees and gave me a question on Binary Trees. 2) You are given a Binary Tree and you need to return the COUNT of "Even subtrees" present in the tree. Then he explained to me what is an Even subtree, a tree is an even subtree if the current node is an even number and all its descendants are also even numbers ( Not just right and left child nodes, grand-child nodes as well). A leaf node is also an even subtree if it's an even number. He explained the question with an example. I got some idea and started explaining it to him. Since it is a question on Trees, it is kind of difficult to visualize the explanation so, I started explaining my approach with some pseudo-code and comments. I had done a post-order traversal kind of thing for solving this question and he is satisfied with my approach. He told me no need for writing the complete code since we are running out of time. He then asked me if I have any questions? I asked some questions regarding the company and also asked what are the company expectations from a student who is not from the CSE stream.
This round lasted for 90 minutes. The interview started with Tell me about yourself and then asked since when I had been doing coding. Then he asked me to explain one of my projects which I had done on web development. I decided to explain the Full stack project and started with details regarding the project like the intuition behind developing this project, what are its uses, the technology stack I used, some features of that website, challenges I faced and also told him some features which I am planning to add in the future. Then he asked me to share my screen and show him the website (project). Then he asked me to open the source code and asked me to grant access for him to control my pc. Then he has gone through the files and asked me to explain some of the codes and then asked me how I provided authentication for the admin (regarding project) and some questions on that. Then he asked me how I am going to the new features which I had mentioned previously and asked how I am going to connect them with database and also about Routing and some back end questions regarding that. Then he asked me to implement a feature which is given by him and told me to explain the process regarding that and then he kind of complicated the given feature by him and asked me How I am going to add that. This discussion went around 30-35 minutes. Then he asked me to open a compiler and gave a coding question. Given an array of 0s and 1s. we need to find the starting and ending index of a sub-array in it which on flipping the numbers ( 0 -->1 and 1-->0) results in maximum possible number of 1s in that array. First I told my approach and wrote the pseudo code which satisfied the given sample input and then he gave me another input for which my approach fails. Then I modified my approach and told him, but I am missing a base condition and the have gave some hints and I was able to grasp that and modified my code and he was satisfied with my approach and he told me write the code. Then he asked if I am familiar with OOPS and told me to explain what is OOPS and it's advantages and some properties of OOPS like inheritance, abstraction etc. I started explaining him all the concepts of OOPS with some examples because I believe that OOPS will be easily understood with help and examples and interviewer also expects that. Then he asked me if I have any questions for him? Don't miss this chance and ask 2 to 3 questions.
We were told that the HR round will be for 15 minutes but it ended in 5 minutes only. She asked me tell to about my family background and my schooling. Then she asked why I am interested in joining Celigo and then asked me why I am not going for higher studies and then about my hobbies. Then she asked my home location and then asked if I am willing to relocate to Hyderabad? This is all about HR round.
I know my English is terrible but I hope you understood what I wrote.
This is written to help NON - CSE students ( cs students can also follow but I guess you might have done all these things already) One more thing, please try to maintain your CGPA above 8 because some of high paying companies will put 8 cg criteria for other departments ( not for CSE I guess). This actually happened with me, so to avoid that please maintain good cgpa and don't regret at the time of placements like me. CGPA above 7 is also not bad but if you are currently in 2nd or 3rd year then there is a chance to improve your cgpa.
For placement preparation: 1) Decide the profile which you are actually interested in it and prepare accordingly . ex: If you are applying for software engineer profile then you must have good knowledge on Data structures and algorithms, pick C++ or Java but not python for software profile. 2) Since I planned my preparation for software engineer profile, I will tell some useful things regarding prep. First choose C++ or Java and learn it and then start doing Data structures and Algorithms ( take some online course or some youtube channel). Start practicing daily on any one coding platforms. Please don't use multiple platforms. 3) If you have more than 3 - 4 months for placements, then practice daily on Geeksforgeeks OR Leetcode. Select one platform and don't do both because it will consume more time for every topic. Follow this pattern 4-2-1 which means 4 easy questions, 2 medium questions , 1 hard question daily. You can modify this pattern according to your convenience. 4) In the month of June, start practicing on InterviewBit because it will help to revise DSA since it has problems in some structured way and platform is designed especially for Interview Preparation. 5) Regular practice is the key to success. 6) Do some projects according to your interest like web development , Machine learning etc. 7) Learn DBMS, it might be useful. During Interview : 1) Even if you are not able to solve the question, don't get panic, tell your approach, try to speak something and don't be calm. 2) Always add comments to your code because writing a readable code might impress interviewer and also don't use names like x,y etc for declaring a variable, use some meaningful name like first_name, count etc according to requirements. 3) Prepare a rough answer for some standard HR questions before the interview. 4) It is not actually required to use some complex words during conversation like Shashi Tharoor . The only thing is you should be able to convey you idea. Please feel free to contact me if you have any doubts.