Why do students fail in Algorithms and Data Structure Interviews for Top Companies?
Computer science is a field of dream opportunities. All over the world, millions of students are looking forward to pursuing a career in the field of computer science. Though a lot of learning resources are available online, still, most of the students are struggling to become good at it and crack the interview. After working closely with more than 1k students, here I would like to highlight the top 5 learning challenges in computer science.
Solving problems is a practical skill like, let us say, swimming. We acquire any practical skill by imitation and practice. — George Polya
But before explaining the challenges, I would like to start with a story.
I had never used computers before entering into the IIT. Even I got poor grades in the course of programming language during the 1st year. I had started talking to seniors about this failure but still did not get a clear direction. Somehow I had managed to persuade myself to leave the idea of a career in computer science. But as Steve Jobs said —
You can’t connect the dots looking forward; you can only connect them looking backward.
When I was in 3rd year and one of my friends was explaining the recursive algorithm to print nth Fibonacci number. He told me that this is a bad code because the computer would take several years to produce the output for a large value of n !!!
I said, “Really. How???”
He said, “ Time complexity of this algorithm is an exponential function of n”. He immediately explained to me the idea of time complexity and gave the proof.
I was totally surprised and said, “ Why most of the students wrote this code during the 1st-year examination?”
He smiled and said, “ Because they had memorized it and never thought about its performance!”. Further, he explained to me the better solution via the bottom-up approach of dynamic programming.
This is the first incident when I came very close to understand the importance of Algorithms which helped me to change my mind. Even my curiosity was so high that I studied the book CLRS twice within 100 days!
Solving problems with Algorithms and Data structure is my passion. I believe that the environment of personalized learning can change the way students overcome challenges and grow to new heights of excellence. After 4 years of experience with students, Here I am sharing the top 5 challenges in the learning of Algorithms and Data structure :
1. Lack of continuous learning: Learning programming requires a growth plan where students should acquire basic skills before going to an advanced level. Students often get trapped in complex examples and the dependencies of topics. In the end, they start memorizing the solutions which affect their performance during the job interview.
2. The requirement of multiple skills: Students should learn to interpret the problem statement, design the correct algorithm, and translate it into the program code. Understanding real-life application is also very useful for developing long term interest.
3. The popular perception about algorithms: Most students believe that solving algorithmic problems is difficult and this view is passed to new students. This gives a bad impression that the subject is tough to master.
4. Poor collaboration and doubt resolution: During the initial phase of learning, students feel unsure of what kind of question should they ask and get help from friends who are most skilled. Some students like the discussion with friends while others prefer to study alone.
5. Uncertain Career Plan: Learning programming help students to get a good-paying job but most of them are unclear about the skills that they need for their growth. Finding a company and position of their interest is a crucial career challenge.