1 like 0 dislike
in Tutorials-Roadmap by Expert (118,070 points)
recategorized by | 5,289 views

5 Answers

1 like 0 dislike
Best answer

First Step is to read and follow : https://www.desiqna.in/274/best-roadmap-studying-data-structures-algorithms-tutorials 

Second Step is to understand the content of this blog : https://www.educative.io/blog/google-coding-interview

Third step is to read this :  

Your end goal is to become *master* at coding interview problems . 

1)Be thorough with how loops and conditions work in programming .These are the very foundation . Practice ample amount of problems before doing anything else . Complete 100 C++ programs from here : https://www.sitesbay.com/cpp-program/index 

2)Invent your own problems on loops , conditions and arrays . This is the best advice which nobody will tell you . 

3)Other thing which you have to master is arrays(with hashing) and implementation problems so that in future no matter what coding problem you have to face, you can code it properly in given time . 

Practice that from here : 

1) https://bit.ly/2XmWGTH

2) https://bit.ly/3os4DD6 

3) https://bit.ly/3hY9XvE

You would have become very confident by now ! I like it . 

In free time , solve some random problems from this list : 


4) Read this book in free time : https://cut.ly/D0VH85 

5) Now , time to study some stack and queues .

Do it from here : i) https://cut.ly/fBXp2R 

ii) https://cut.ly/aKDXKh 

6) Time to study some linked list now , do it from here : 



7) Now study , heap and binary trees from here : 




Make sure that you know matrix , binary search ,recursion ,backtracking and C++ STL very well . 

8)Start giving leetcode contests regularly , stop judging your ranks and comparing others , you dont have that much time left now . 

9) Start solving Div2 AB of codeforces and codechef to improve problem solving skills . 

10) For dp study all famous classical problems which are most asked in interview from here : 




For sorting : https://cut.ly/faEMnb 

11) If you still feel weak in any of the topics, then go to : https://leetcode.com/problemset/all/ and select the topic you want to practice and grind till you feel chill . xd! 

Focus on communication skills, learn how to explain your solutions to others, ask for their feedback, try making your solutions understand to your friend ! 

In all these steps, never get demotivated , only focus on your journey , forget the result and thats the way to true excellence and mastery !

For graphs , refer this : https://www.hackerearth.com/practice/algorithms/graphs/graph-representation/tutorial/ 

For greedy algorithms , refer this : https://www.hackerearth.com/practice/algorithms/greedy/basics-of-greedy-algorithms/tutorial/

Complete Love Babbar 450 DSA sheet(google it) and https://cut.ly/JPLI9d for final touch . 

You are a *master* now




selected by
0 0
Cut ly not working
Showing error 404
0 like 0 dislike


  1. Stay focused. Having a knack of solving every problem at hand without giving up, is a skill that comes with rigorous practice.
  2. Ace Data Structure & Algorithms :   https://www.desiqna.in/274/best-roadmap-studying-data-structures-algorithms-tutorials
  3. It's not just about writing the code, it's about how well you write the code and how efficient it is. The interviewer needs to be carried all the way from the brute force approach to the most optimised approach.
  4. Aptitude is one of the most ignored aspects of interview preparation. Especially in on campus interviews, aptitude can help you get way ahead of your peers. Keep aside an hour daily to brush up the permutation and combination or probability question and make sure to solve it in half the time provided.
  5. OOP and system design principles are often overlooked. Prepare a solid notes for OS, DBMS, CN and other core subjects.
  6. Projects and internships: A well organised, innovative and deployed project will give you an upper hand. Create a script about all the technologies used, why you preferred that technology, what were the challenges faced during project creation.
  7. Research the company and picture yourself working there. The tech giants look for people who can fit into their culture and work environment without much effort. Remember elite companies get a lot of candidates - your interest in the company/position might help propel you to the front of the line.
  8. Think loud. Most of the tech companies use Whiteboard Coding. You will be given a problem and a whiteboard to work out your code. The prime purpose of whiteboard coding is to allow you to speak more about your thought process. So there may be times when you cannot come to the exact solution, but do make sure that you speak your mind out in front of the interviewer.



  1. Coding skills and technical knowledge: Includes successful translation of the algorithm into code, the organisation of your code, proper styling, and presenting an error-free code.
  2. Analytical skills: How optimal your solution to the problem is, how long you took to solve it, how much help (or hints) made you arrive at the solution and how well you designed or structured your solution, are some analytical skills that you should imbibe.
  3. Experience: Includes challenging projects, and how much you indulged in making the projects successful.
  4. Communication skills and culture fit: This is an assessment of your personality and how you communicate with the interviewer.


  1. Don’t jump into coding until you are extremely clear about the approach.
  2. Discuss the problem with the interviewer, ask questions. Start from the obvious brute force approach and gradually trade space and time for most optimised one.
  3. Let the interviewer know what you're thinking, where you're going, and what problems you're encountering. Pay attention to interviewer’s hints.
  4. If you’re stuck somewhere, be frank and discuss it. The interviewer will usually only give you some chance to test for correctness.
by Expert (118,070 points)
0 like 0 dislike

  If you're looking for employment in Indian based product company then It's very easy to crack the interview. And there's no much difference in the process from the service-based organization and product-based organization.  

People says preapre for Alogorithm and Data Structure for crack interview but many people in most of us day-today life we never use/impliment our any Algo or DS. Many compnaies are very smart to use such library to reduce thiere bottle-neck issue. 

I am into solution Architeture in Banking firm  with 9+ years experince and I haven't seen people are using AL and DS. We work on solution not propbelm. And Industry will not waste money and resource to intruduce new sorting or searching algo. 

Now days Industry are driven by architeture not AL or DS .

There are industry like apache , JetBrain , Google Cloud , AWS Cloud , Spring .etc., people are heavily use such stroung Algo and DS to design thiere product So decide you want to place in such industry or You wan to place compnies like Adobe , CISCO , Flipkart , Amazon and CITI , HSBC like product amd domain oriented compnay .

  • You have good communication skills 
  • You have smartness in order to answer it.
  • Ability to solve problems and reason.
  • Logical Thinking.
  • Think you want to place in Product Development company or Product-Domain Oriented company.
  • Choose which language you will be strong enough such as Java, Python, Ruby, etc., and try to solve problems with that. 
  • Confident.
  • Try to solve problems using Hacker Rank or some other online platform. 
  • Don't give the chance to ask too many questions by the interviewer (Its smartness). 
  • Check out some good books that it. (Cracking the Coding Interview )
by Expert (118,070 points)
0 like 0 dislike
Focus on following areas to crack almost any programming interview. Competitive programming is not mandatory. You can learn a lot through your regular course work in good schools. Don’t skip classes, work hard on your assignments and do not outsource them :-)
Data structures: Array, Linked List, Stack, Queue, Hash Table, BST, Map (Hash vs Tree), Set, Trie, Graph. Applications and pros & cons of those.

**Algorithms: **Time complexity, Space complexity, Sorting, Searching, BFS & DFS, Dynamic programming, Recursion, Bit manipulations.

**Maths: **Permutations, Combinations, Medians, Probability, Geometry, …

**Problem solving: **How to reduce any given problem to a known Math or DS or DS+algo problem given enough hints.

**Coding: **Write elegant, correct and efficient code in 25–45 minutes.

**Tips for coding interviews:**

1. ask relevant questions before attempting to solve
2. break the problem into similar/smaller known problems
3. briefly discuss brute force approach, if required
4. where applicable, use
    1. math
    2. sorting
    3. searching
    4. traversal
    5. recursion
    6. bit manipulation
    7. dynamic programming
5. before implementing your algorithm
    1. discuss it with the interviewer
    2. discuss it’s time and space complexity
    3. see if it can be improved based on above discussion
6. write test cases (before code!)
7. start small, test immediately
8. write functions that are
    1. reusable
    2. loosely coupled
    3. small and do only one thing!
9. avoid
    1. gotos
    2. unnecessary variables
    3. unnecessary/many/nested if-elses
10. always
    1. validate input
    2. check return codes
    3. handle corner cases
    4. trace your code with test cases before telling the interviewer - done!
0 like 0 dislike


is a huge & primary resource.

You need to solve all the latest questions irrespective of the company and all the questions for the specific company.

Then you are reasonably good.

Folllow what https://www.quora.com/profile/Jeff-Erickson says, and follow his book:


Ignore almsot all advices given to you by kid gurus in the LinkedIn.

They are just plain lucky and they have 0 clue about how they got selected.

Listen to people who selected them - that is the real interviewers and managers.

Avoid competiive coding - focus on problem solving.

Knowing a language means knowing everything about the language - almost.

If you say you know C/C++ and you can not read binary from file - that was, good enough reason to reject you 5 years back. Now that the bar has been tremendously low, we still hire folks - but that can change anytime.

You do not know what sort of crazy interviewer you will get - so focus on fundementals of core subjects like discrete mathematics, computer ogranisation / architecture , database systems, operating systems.

It is good if you know a bit of networking too.