Is competitive programming compulsory for cracking technical Interview as a fresher ?
If you are reading this post, you are one of the students aspiring to become a software developer in a big MNC.And like most of the other aspirants, you are unclear of what exactly you should do for achieving it. You are unable to decide whether to work to get an internship, excel in competitive programming, focus on developing projects or learn new technologies.
I have been asked this question many times, so I thought to put together my views in this post.
Well, If you are looking for short answer .
It's not mandatory to do competitive programming to crack technical interviews.
But, here is the twist .
It will help you in cracking one.
So, let's start with the basics....
So, let's start with the basics....
What is competitive programming?
According to Wikipedia,
A programming competition generally involves the host presenting a set of logical or mathematical problems, also known as puzzles, to the contestants (who can vary in number from tens to several thousands), and contestants are required to write computer programs capable of solving each problem.
So, it helps you in sharpening problem-solving skills using data structures and algorithms, most of which are applied in real-life situations, combining two or more solutions to solve complex problems. You will find questions based on research papers which is quite interesting. There are many competitions held all over the world. So, if you perform well, you can travel to other places. Clearly, it's not just about solving problems for sport.
What is asked in technical interviews?
The questions asked in technical interviews can be categorised in three portions.
1. Coding
A . Data structures and Algorithms
Questions related to basic data structures and algorithms and their applications in various questions. The topics asked are mostly standard which are included as part of engineering syllabus.
B. Programming language
The questions are mainly related to the programming language you have worked on.
Also questions related to C programming language are common, since it expected from you to know that.
C. Any internships, projects worked on.
Questions here are basically to test out your knowledge in technology you have used, how deep you have gone to solve the issues you have faced, and most importantly to understand if you have actually worked on the project.
2. Subject related
A. Object oriented concepts
B. Database management systems
C. Operating Systems
There are standard topics on which questions are asked for these subjects.
3. Miscellaneous
A. Puzzles
This differs from company to company, some companies it include this in part of their interview process, some do not.
These most important portion is coding.
How do you connect the two ?
Let's see where does coding questions fit within competitive coding.
In general, if you do competitive coding, you become more proficient in solving problems. Apart from helping you understand data structures and algorithms better, it strengthens your ability to implement them efficiently. You learn to combine data structures with efficient algorithms to reach required solutions. Believe me, that's what makes the difference.
Knowing an algorithm and being able to implement it are two very different things, and sometimes this can be the deciding factor in a technical interview.
Knowing an algorithm and being able to implement it are two very different things, and sometimes this can be the deciding factor in a technical interview.
Is that all ?
Competitive programming is not all about helping you learn and understand stuff so that you perform well in your interviews.It has lot of other benefits.2. It definitely makes a positive impact on the resume.
3. It makes you focused and helps in solving complex problems in lesser time.
4. Most importantly, It's fun!!
Great kunal, you really presented in a beautiful way. You have explained everything in a very clear and decent manner, anyone can understand. This is very helpful for people who think competitive coding will not be beneficial for their career.
ReplyDeleteAweeessome! :)
ReplyDeletethankyou so much sir! this is a good avdive
ReplyDelete