#GeeksforGeeks » Feed GeeksforGeeks » Comments Feed alternate alternate GeeksforGeeks ____________________ x × Suggest a Topic ____________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ Select a Category [Misc__________________________________] (BUTTON) Submit menu GeeksforGeeks * Skip to content + Tutorials o Algorithms # Analysis of Algorithms @ Asymptotic Analysis @ Worst, Average and Best Cases @ Asymptotic Notations @ Little o and little omega notations @ Lower and Upper Bound Theory @ Analysis of Loops @ Solving Recurrences @ Amortized Analysis @ What does ‘Space Complexity’ mean? @ Pseudo-polynomial Algorithms @ Polynomial Time Approximation Scheme @ A Time Complexity Question # Searching Algorithms # Sorting Algorithms # Graph Algorithms # Pattern Searching # Geometric Algorithms # Mathematical # Randomized Algorithms # Greedy Algorithms # Dynamic Programming # Divide and Conquer # Backtracking # Branch and Bound # All Algorithms o Data Structures # Arrays # Linked List # Stack # Queue # Binary Tree # Binary Search Tree # Heap # Hashing # Graph # Advanced Data Structure # Matrix # Strings # All Data Structures o Languages # C # C++ # Java # Python # C# # Javascript # JQuery # SQL # PHP # Scala # Perl # Go Language # HTML # CSS # Kotlin o Interview Corner # Company Preparation # Top Topics # Practice Company Questions # Interview Experiences # Experienced Interviews # Internship Interviews # Competitive Programming # Design Patterns # Multiple Choice Quizzes o GATE # GATE CS Notes 2020 # Last Minute Notes # GATE CS Solved Papers # GATE CS Orignal Papers and Official Keys # GATE 2020 Dates # GATE CS 2020 Syllabus # Important Topics for GATE CS # Sudo GATE 2020 o ISRO CS # ISRO CS Solved Papers # ISRO CS Original Papers and Official Keys # ISRO CS Syllabus for Scientist/Engineer Exam o UGC NET CS # UGC NET CS Notes Paper II # UGC NET CS Notes Paper III # UGC NET CS Solved Papers o CS Subjects # Mathematics @ First Order Logic @ Combinatorics @ Set Theory @ Graph Theory @ Linear Algebra @ Probability @ Calculus # Operating Systems @ Processes, threads, CPU scheduling @ Process Synchronization @ Deadlock @ Memory Management @ File and Disk Management # DBMS @ Entity Relationship Model @ Relational Model @ Normalisation @ SQL @ Transactions and concurrency control # Computer Networks @ Basics @ Data Link Layer @ Network layer @ Transport layer @ Application layer @ Network Security and Cryptography # Computer Organization and Architecture @ Basics @ ALU, data‐path and control unit @ Pipelining @ Memory Organisation @ Input and Output Systems # Theory of Computation @ Regular Languages and Finite Automata @ Context Free Grammar and Context Free Languages @ Turing Machine # Compiler Design @ Introduction @ Lexical Analysis @ Syntax Analysis @ Syntax Directed Translation @ Runtime Environments @ Code Generation and Optimization # Digital Logic @ Boolean Algebra and Logic Gates @ Combinational Logic Circuits @ Flip-Flops and Sequential Circuits # Software Engineering @ Introduction @ Software Development Models & Architecture @ Software Project Management @ Software Requirements @ Software Testing and Debugging o Web Technologies # HTML # CSS # JavaScript # PHP # JQuery + Students o Get Hired o Campus Ambassador Program o Project o Geek of the Month o Campus Geek of the Month o Placement Course o Competitive Programming o Testimonials o Geek on the Top o Careers o Internship * Courses * Home (BUTTON) Algorithms expand_more * All Algorithms * Analysis of Algorithms * Searching Algorithms * Sorting Algorithms * Graph Algorithms * Bit Algorithms * Pattern Searching * Geometric Algorithms * Mathematical Algorithms * Randomized Algorithms * Game Theory * Greedy Algorithms * Dynamic Programming * Divide and Conquer * Backtracking * Branch & Bound (BUTTON) Data Structures expand_more * All Data Structures * Array * LinkedList * Stack * Queue * Binary Tree * Binary Search Tree * Heap * Hashing * Graph * Advanced Data Structure * Matrix * Strings (BUTTON) Languages expand_more * C * C++ * Java * Python * SQL * PHP * Javascript * Program Output (BUTTON) Interview expand_more * Company Prep * Top Topics * Practice Company Questions * Interview Experiences * Experienced Interviews * Internship Interviews * Competitive Programming * Design Patterns * Multiple Choice Quizzes (BUTTON) Students expand_more * Campus Ambassador Program * Geek of the Month * Placement Course * Project * Competitive Programming * Testimonials * Geek on the Top * Careers * Internship * School Programming (BUTTON) GATE expand_more * GATE CS Corner * GATE Notes * Last Minute Notes * Official Papers * Gate 2018 Important Dates and Links (BUTTON) CS Subjects expand_more * Operating Systems * DBMS * Computer Networks * Compiler Design * Web Technology * Computer Organization & Architecture * Digital Electronics * Engg. Mathematics * Theory of Computation * Advanced Topics * What’s Difference? (BUTTON) Quizzes expand_more * C * C++ * Java * Python * Data Structures * Algorithms * Operating Systems * DBMS * Compiler Design * Computer Networks * Theory of Computation * Computer Organization * Software Engineering * HTML & XML * Engg. Mathematics * Aptitude * GBlog * Puzzles * What’s New? GeeksforGeeks Hire with us! (BUTTON) ▲ * Harshil Shah – Geek on the Top | Solving lots of easy problems are not as beneficial as practicing some hard problems * Nitish Kumar - Geek on the top | "An opportunity may come from anywhere, so always be prepared" [INS: :INS] Harshil Shah – Geek on the Top | Solving lots of easy problems are not as beneficial as practicing some hard problems Geek on the top is all about success stories of Geeks who are working hard to chase their goals and are inspiration for other geeks. Harshil Shah might not need introduction to many geeks reading this article. He is a super talented programming nerd with so many contest positions in his profile , Adobe Hackathon, SnackDown, Cook offs being the highlights. Harshil_Shah [INS: :INS] How did it all start? What made you land into the world of competitive programming? It all started with programming club session in my college. Our senior Archit Karandikar (ICPC WF’13 and ‘14) motivated us to get started in this sport. His words “If you can solve hard problems on Codechef, you can easily get 1 crore job in Google” was something that got me started. Being naive, I did start programming with the intention of good placements, but later this thing became much more of a sport for me, since questions asked in programming competitions are lot more tougher and different than those asked in interviews. Soon I came to know about ACM ICPC and it became golden motivation for me to keep going in the world of competitive programming. I got a good company of peers Utkarsh Saxena and Aditya Shah who were all time together with me in this journey and without whom it wouldn’t have been awesome. You have won Adobe Hackathon with a prize 1.5 Lakh too. How winning these hackathons can play a part in getting anyone a good internship and job? Yes, winning such hackathons can play a good part in getting a good internship and job. Such achievements can cast a good impression on interviewer. However, they won’t be of much help if you can’t clear the interviews. Projects are much more crucial along with such achievements for getting a good internship or job offer. Many major firms select candidates solely on the base of interview performance and projects because skills expected in interviews are different than that of programming competitions. In interviews, many things like code quality, code readability, analytical skills, ability to express ideas etc. matters which aren’t required in programming competitions. But obviously, you need to solve the interview problems in first place which would be not be difficult if you are capable to win such hackathons. How did you handle the stress while competing to code? What are your suggestions for other students for the same? When it comes to programming competitions, stress management can be very important thing. Everyone faces this issue in some way or the other. Only way to come over this issue is to practice a lot. Keep participating in all the competitions on all the platforms. Since most of the programming competitions only provide you with limited amount of time, so while practicing also, one should practice in the same way focusing on increasing speed and improving accuracy simultaneously. Eventually, you will learn how to manage stress and maintain focus during competitions. Do you think being an IITian played a crucial role in your win? Yeah, being an IITian played a good role in the win, but what more crucial is the good company of peers, who are passionate just like you. The people you are with and environment you get plays a very crucial role in win. There are lot of teams who went to ACM ICPC World Finals from India previously but doesn’t belong to any IIT and secured a fabulous rank for India at World Finals. What should one keep in mind when beginning to pursue the Competitive Programming and job preparation? Competitive programming is much of a sport. It helps in increasing your aptitude to a level where job preparation doesn’t seem difficult. However, one needs atleast 2 years of time to become good in this sport. So if you have placements coming in your current semester, competitive programming might not be fruitful. But if you have good amount time, it could be a hen hatching golden eggs. You can improve your problem solving aptitude using this sport and it will be helpful in all challenges of life including job preparation. People call you nerd – How do you handle that 😉 ?? People don’t just call me a nerd, they call me a programming nerd. Once you become good in solving problems, you will get lots of cool T-shirts with mind blowing programming quotes on them. I wear all such T-shirts daily and encourage all those people calling me a nerd to become a nerd like me. However, keep in mind that programming all time doesn’t make you a nerd because it is something you enjoy and have fun. Just like some people love playing cricket, some people love to code and that doesn’t make you a nerd. What’s your advice to students who aim to become excellent programmer like yours? Solve as many problems as you can. Keep participating in all the contests on the platforms like Codeforces, Topcoder, Codechef, Hackerrank, Hackerearth, GeeeksforGeeks etc. Keep in mind that most important thing for improvement is to upsolve the contest afterwards. Give atleast twice the duration of contest to upsolve it later. Always try to solve problems one level higher than your ability while practicing. Solving lots of easy problems are not as beneficial as practicing some hard problems. Focus on seeking ability rather than speed. Brainstorming is the most important thing for becoming excellent in this sport. Take some time to figure out solution on your own before looking at editorials. Even if you have to read the editorials, try to implement them on your own. After solving the problem, look at the solutions of experienced great programmers. There will be tons of things you will get to know from those solutions. Codeforces “friends standing” feature is very helpful for this purpose. The best strategy to become good in this sport is to find someone just like you and to practice together regularly. Having peers will encourage healthy competitions and learning opportunities. Harshil’s Coding Profile: * Codeforces: _shil * Topcoder: shil_4 * Codechef: harshil7924 * Hackerrank: harshil7924 Harshil’s Achievements: * Secured 1st rank in Adobe Hackathon 2015 among 8000 participants * Secured 7th position in India in Morgan Stanley Codeathon,2016. * Qualified for onsite finals of Codechef Snackdown 2016 and ranked 20th position in India * Secured 3rd position in nationwide programming contest held by Hewlett-Packard Enterprise. * Three TOP5 finishes in Codechef Cook-Off in India If you know a top Geek whose interview should also be published, please drop an e-mail to contribute@geeksforgeeks.org. Let the top geeks inspire other students!! [INS: :INS] My Personal Notes arrow_drop_up ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ ____________________________________________________________ (BUTTON) Save Recommended Posts: * Sumeet Varma - Geek on the Top | Actual fun begins when you solely concentrate on finding algo to solve a problem * Ayush Jaggi - Geek on the top | Get frustrated by TLEs and WAs, Higher the frustration - better the code * Rodrigo San Martin Monroy - Geek on the Top | Extract common topics from previously asked interviews of the company you want to join * Nafis Sadique - Geek on the Top | Seniors should take the responsibility to introduce the junior students to the world of programming * Vaibhav Gosain - Geek on the Top | It is important to solve problems which are a bit above your current level * Aashish Barnwal - Geek on the top | Make a habit of writing clean, readable, flexible and robust code * Vicky Tiwari - Geek on the top | Don't forget to read editorials and upsolve problems after each contest * Aditya Gupta - Geek on the Top | Participating alone increases your level, no matter you win or not * Rachit Belwariar - Geek on the top | The best part at writing GeeksforGeeks were the questions asked by other users on my articles * Jeel Vaishnav - Geek on the Top | “Our greatest glory is not in never failing, but in rising every time we fail”. * Abhishek Verma - Geek on the top | "Think Big to Achieve Big" * Pratul Kumar - Geek on the top | Learning is not a race, so it should not be treated like same * Shashank Pathak - Geek on the top | Don’t let your mind get diverted to the consequences of not solving a problem * Sahil Garg - Geek on the top | "First Solve the Problem, then Write the code" * Rachit Jain - Geek on the top | "Stop starting, start finishing: Don't just give up on things and then start doing something else" [INS: :INS] Article Tags : Geek on the Top thumb_up 5 [ ] To-do [ ] Done 4.5 Based on 9 vote(s) [BUTTON Input] (not implemented)_____ [BUTTON Input] (not implemented)____ [BUTTON Input] (not implemented)______ [BUTTON Input] (not implemented)____ [BUTTON Input] (not implemented)______ Please write to us at contribute@geeksforgeeks.org to report any issue with the above content. Post navigation Previous first_page Rodrigo San Martin Monroy – Geek on the Top | Extract common topics from previously asked interviews of the company you want to join Next last_page Nafis Sadique – Geek on the Top | Seniors should take the responsibility to introduce the junior students to the world of programming Writing code in comment? Please use ide.geeksforgeeks.org, generate link and share the link here. (BUTTON) Load Comments [INS: :INS] auto [INS: :INS] Most popular articles * Must Do Coding Questions for Companies like Amazon, Microsoft, Adobe, ... * D3.js | d3.entries() Function * Find the winner of the Game to Win by erasing any two consecutive similar alphabets * Find the integers that doesnot ends with T1 or T2 when squared and added X * Average [INS: :INS] Most Visited Articles * Program to Encrypt a String using ! and @ * Compare two strings considering only alphanumeric characters * Maximum non-attacking Knights that can be placed on an N*M Chessboard * Rat and Poisoned bottle Problem * Roots of the quadratic equation when a + b + c = 0 without using Shridharacharya formula [INS: :INS] ✍ Write a Testimonial (BUTTON) ⇣ * GeeksforGeeks * 5th Floor, A-118, * Sector-136, Noida, Uttar Pradesh - 201305 * feedback@geeksforgeeks.org * COMPANY * About Us * Careers * Privacy Policy * Contact Us * LEARN * Algorithms * Data Structures * Languages * CS Subjects * Video Tutorials * PRACTICE * Courses * Company-wise * Topic-wise * How to begin? * CONTRIBUTE * Write an Article * Write Interview Experience * Internships * Videos * @geeksforgeeks, Some rights reserved