The subject of preparing for placement is quite vast. I would like to share with all of you on how to prepare for placements.
- Data Structure & Algorithm: Every company eyes on who is good in these two fields. What you can do for this section is to first of all get the understanding of basic data structures and its operations and build on that. You can go to websites like GeekforGeeks, careercup for these sort of questions. BUT, its not that you just have to look at the questions and read down the answers. What you have to do is to develop problem solving skill. You have to think of how to approach a strange question. When you go for the interview, interviewers are not generally looking for correct answers to an extent, but they look for how do you approach a question. How good is your attempt!! So just look at the questions on these websites and try to solve it on you own. If you are not able to solve it, discuss among your friends so you will get to learn how to approach a question. Discussion helps a lot in building concept and clearing misconception also. So the best strategy which I have learnt from Sir during my GATE preparation is as follows: lets say I have a question of DS which needs to be solved with some constraints on space and time. At the first go never try to find the best solution. First of all solve the question with some over space or over time complexity. Then try to approach it in more efficient way. Never stop your horses in case of DS and algorithm. You never know with some other combination of data structure and algorithm you may find better solution of the problem. Focus more on Dynamic programming, Greedy solutions, trees and graphs and related questions for the interview. You would have learnt these subjects thoroughly at Raman classes.
- Codothon: Coding is core of any IT company. It could be an elimination round also for some companies and in some companies they may ask you to code on paper the question which you have just solved. So have enough hands on coding. You can ask the interviewer if you can write pseudo code. For coding you can prepare from good problems websites and its better if you practice those data structure and algorithm problems. Go step by step while improving your coding skills. Start from the easy problem and move to next level. Language is not important as long as you are able to frame logic and choose which data structure and algorithm you are going to use. Different languages just differ in syntax and may provide some extra features. To start with any coding problem, first of all make a skeleton in your mind or on paper of all the functions, data structures you are going to use and then start filling the colors and connect the dots. Some parameters that your code can checked upon are how modular it is, does it cover base cases, corner cases, time and space complexity and all.
- Concept about the subjects: Whatever you study here in Raman Classes is sufficient to crack any technical interview/ written as long as theory part is concerned. What you have to work on is how to apply those concepts to the problem which is given to you. You can prepare some subjects like OS, CO in deep for the interview but knowledge of whole sphere is surely needed. Problem may be very simple but it just requires little bit of problem solving skill as I have talked about it already.
- HR/behavioral round: If there are enough good candidates they may judge you based on this round also. In some companies its an optional round. Plenty of confusing questions may be asked in this round. But I would suggest you to keep some answers framed like Describe yourself, your goals, why are you switching or want to join us. But other sort of questions you can handle very intelligently at the spot. Like in a recent interview I was asked : how will you handle if there is a conflict with any team member? What would you do if you were not able to proceed because of some work dependency? What would you do if you saw you will not be able to finish work before deadline? How do you see yourself growing in company? You can always spare few seconds to think about these questions and answer them nicely.
- Math-mania: Sometime interviewer may check your basic mathematical skill like questions on probability can be asked or they may ask you to plot graphs of log x, 1/logx etc. So just brush up those concepts little bit.
Finally I would like to say just prepare easily and smartly for the placements. Be little smart while answering the questions.
- Interviewer may confuse you by placing different questions or by cross questioning. So just be calm and listen carefully. Always ask if you have any doubt in any question they have asked.
- Other essential parameters that you must work on confidence and body language while giving any answer.
- You should be able to communicate well about the projects you have mentioned in the resume. Never give any false information in your resume. It leaves a bad impression on them.
- Preparing for a placement is not a rocket science. it just requires right direction and smart efforts which Sir is always ready to provide in his full capacity but follow what Sir is saying nicely.
- I would like to clarify one thing here that there is no shortcut for it. You prepare for it, you get it. You may get it once by luck but your luck may not help you sustain in the company so don’t go with a laid back attitude. Earn it nicely by preparing it smartly.
I saw the placement preparation program of Raman classes where they would give training on 400+ coding problem, Algo, DS, interviews, etc. I think such program is quintessential for a student in private college to cover up what I wrote above. You can get thoroughly trained to do well and get a call from a dream company for joining them. Best of luck!
M.Tech. (IIT-Delhi), Intel Corp