Don't forget to subscribe to email notifications to get all latest jobs directly to your email daily.
This post is mainly for computer science students from normal engineering students here I will explain what all you need to do to get job in product based companies.
Getting a job in service based company is very easy but to get job in product based comapnies you need to work hard and you should be all rounder. You need to good in maths, aptitude, coding and general knowledge.
Here I will guide you step by step how you can get your dream job in product based company here my views are completely from the side of normal engineering students.
- First thing is you won’t get product based companies to your campus as you are from normal engineering student.
- So to get call’s from product based companies you should prepare well for elitmus exam and get 90+ Percentile. So that you will get most of the calls from product based companies.
- Go through the following links to get 90+ percentile in eLitmus exam
- Simultaneously you should be champ in coding things and you should be perfect in core computer science subjects.
- Product based companies mainly look for candidates who have analytical skills who could take a problem, analyze the problem and design the solution,write the algorithm and then analyse time complexity and probably propose the data structures and who have grip over the core computer science subjects, so one common miss consumption is that people generally think learning technologies like java, j2ee, .net will get them into product based companies so it is completely wrong. If you really want to get job in product based companies you should suppose to learn core computer science subjects.
- If you are in final year just ignore what I am saying below but if you are in 1st, 2nd and 3rd year plan your schedule accordingly and prepare for core computer science subjects.Final year students you can follow after completing your b.tech because in final your you have exams,projects and many things so you won’t get enough time.
Subjects you must concentrate on:Database Management Systems, Computer Networks, Object Oriented Programming, Data Structures and Algorithms, Operating Systems.
Subjects that you can ignore some what are: Theory of Computation, Programming Languages and Compilers,Computer Architecture.
1. Data Structures and Algorithms
- Study all the Algorithms properly. Use Cormen. Possibly the best book for Data structure and algorithms. If you are short on time go through the MIT videos.
- As a compute science student You should know the applications of every algorithm along with the time complexity.
- Most of the product based companies ask problems related to specific parts in DSA. For eg. Backtracking, Recursion ,Dynamic Programming is asked often. Start up Companies like Flipkart, PayPal, Walmart go really deep into these concepts.
- These product based companies ask you to apply the above into real life problems in the interviews. Like Flipkart for eg they ask to give an algorithm for their warehouse. You should simulate the warehouse of the flipkart using a shortest path algorithm which will be most efficient for them. Answer for this question is a combo of Dynamic Programming and Graph Algorithms. Be prepared to think out of the box. Only your approach is checked. Not the entire answer that you give in the interviews. Your algorithm may not be up to the mark. But if your approach is wrong, you probably are screwed. Get your approach for the problem properly. If you go wrong on your approach for the problem, look for the hints given by the interviewer. They often try to lead you back to the track of the right answer by giving some hints to that problem. If you still can’t do it. They stop and ask you to leave.
- Be prepared with the complexity of each algorithm. Often they ask you to improvise your given algorithm to more efficient algorithm for the particular problem. Sometimes they ask you to write a code on their laptops. So do not panic. Be prepared for any thing in interview.
2. Operating Systems
- Important topics for Operating Systems are Processes, Synchronization, Semaphores, Memory.
- Questions involving semaphores are asked intensely by companies like Directi, Microsoft,PayPal, Oracle etc.
Also, a lot of questions are asked in the interviews on process diagrams and memory. They ask you the importance of zombie process and its related stuff. Also virtual memory and related stuff.
- They ask the candidates to code a binary semaphore on their laptops. So be prepared do not panic if something like this pops out.
- Paging, Segmentation ,Virtual memory are important.You should also be aware of basic linux commands it plays some important role in the interviews.
3. Computer Networks
- Product based companies asks Comparatively less amount of questions on Computer Networks.
- They ask mostly on connection establishment,TCP/IP, etc. Three way handshake and its related stuff. Also, the 7 OSI layers along with their importance are asked. Be prepared with the all the functionality of each layer.
- Companies like CISCO will ask Computer Networks more than other product based companies. Also, in case of companies like Directi, the coding round that takes place can be a one which involves Socket Programming. So get your basics of Socket establishment and connection. You can code in any language you want.
- They mostly stress on implementation of nmap function using Socket Programming as a part of coding round in Directi.
- Sometimes they ask you tricky questions like “ If there is a naughty boy. There is a LAN cable connected. If the naughty boy pull it out. When will network layer realize the connection failure.” So, be prepared for such stuff.
- Coming to Databases be thorough with those ER-diagrams. They ask you to draw the ER diagrams in the interviews sometimes.
- Normalization questions are often asked in Data Bases . Till 4NF and BCNF. Not beyond that. They give you a Data Base and ask the normal form of it. And then ask you to normalize it further.
- Also, in some rear cases, you are asked to design the Database. Like for eg. There is an Olympic being held at London. You have to give the keys of each table, the redundancy of the tables,complete description of the tables if any and all possible such tables must be shown. How efficient is you model and stuff like that.
- SQL also is asked by companies concentrating on DataBases. All queries and commands are asked. Again they provide their laptop and ask you to write the queries. theta join, Outer join, etc is also asked.
5. Object Oriented Programming Concepts
- In Product based companies if you know any Object Oriented language you know you have to tell them. Make sure you do not tell any if you don’t know.
- For Java/C++, questions onEncapsulation, Inheritance, Abstraction,Polymorphism are asked. You have to give examples for these Object Oriented concepts.
- Then “Friend Class” is their favorite class in both Java/C++. They ask questions related to it. Whether its public or private. Whether its abstract or not, etc.
- Difference between interfaces and abstract classes is asked. They may ask you to write an abstract class or implement a interface. Some related code is asked.
- Method overriding/overloading is asked. You have to give an example.
Operator overriding/overloading is also often asked.
- The finalize() method and Garbage collection isasked. They generally ask you to implement your own finalize method in interviews.
That’s all with the coursework.
Generally the interviews in Product Based Companies go as follows..
1. Technical Interview 1
Basic Coding Skills : involves Java/Python/C/C++. Basic Algorithms like sorting searching and Basic OS concepts and Basicstack and queue operations and linked list operations .
Some basic code you should write on paper. Mostlytree, binary search tree stuff or recursive linked list stuff.
Time Complexities and other related stuff asked for some algorithms.
2. Technical Interview 2
Intense deep questions on Algorithms are asked. You have to apply your knowledge of DSA to solve the given problem. your Approach to solve the problem is important rather than solving the problem.
Constantly keep on speaking with the interviewer. As you proceed keep talking about what you are up to and how are you approaching the problem.
Deeper Operating System concepts and Data Base, Computer Network concepts are asked in some product based companies like CISCO.
3. Technical Interview 3
More intense algorithms are asked. Involves Trees and generally graphs. Many times concentration is on shortest path algorithms for a given problem.
4. HR Interview
In this roud !!! JUST SPEAK…
In all interviews you are asked to tell something about yourself which is not present in your resume. Make sure in this you tell them what all stuff have you currently been working on and what projects you have done . Try to move them to your project as much as possible. The more time you spend on your projects, the more better it is… Also, try to tell them about some course projects that you have done during your coursework. Its always better if the interview goes in your favour. And it will go in your favour if more time is spent on your projects. If you don’t know stuff be straight enough to tell that you don’t know it. Do not fake answers. If you give a fake answer BIG TROUBLE!!. They appreciate if you tell them you don’t know stuff they have asked.