Code Monkey home page Code Monkey logo

Comments (4)

jwasham avatar jwasham commented on April 28, 2024

I understand, and I was adamant that it was important, too, but for the Google interview, it's not expected. I checked the Yegge article and all the Google coaching notes and interview prep they recommend and they don't even mention it. Much to my surprise. Keep in mind they are only expecting CS 101 knowledge. DP is seen as a bit more advanced.
To continue my adamant stance, I asked my referral about it (twice), and even he said to not worry about it.

Here's why:

  1. It can definitely be useful to solve some problems, but it's not required.
  2. For many solutions with a dynamic programming solution, there can be other solutions that are good enough to get you hired. Remember, you're being compared against other candidate performance.
  3. Coming up with a solid DP solution to a new problem can be difficult to discover, code, test, and get right in 40 minutes.
  4. Knowledge of a DP solution to a problem you've seen before isn't testing your ability to solve new problems, just memorization of the solution to an existing problem.

This isn't stopping me from trying some problems, however, but I'm not stressing about it anymore.

from coding-interview-university.

borisyankov avatar borisyankov commented on April 28, 2024

Gayle McDowell herself is not very clear on that:
https://www.quora.com/Should-I-really-study-and-learn-dynamic-programming-for-google-interviews

On the other hand she, and most Algorithm books do include that topic. HackerRank has a ton of questions about Dynamic Programming too.

I think I understand where this comes from:
'Dynamic Programming' is more of a term used in books and not in practice, but the concept itself is very important.

I would say, there is a decent chance (more than 10-20%) that you are asked a question requiring it, and if you do not optimize correctly, you will get not a O(N) complexity but O(N^2) which is likely a not a good enough solution.

from coding-interview-university.

jwasham avatar jwasham commented on April 28, 2024

You make a good point. Since it's valuable, I'll move it to the required, but with a disclaimer. :)

from coding-interview-university.

borisyankov avatar borisyankov commented on April 28, 2024

To strengthen the argument, LeetCode has 443 programming problems given at actual interviews, 63 of them are tagged 'dynamic programming'.

https://leetcode.com/tag/dynamic-programming/

from coding-interview-university.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.