Earlier quoted context omitted.
I would argue that it's a pretty good measure of programming and CS problem solving skill with weak alternatives.
Most of these types of algorithms already have tons of research available online as people try to figure out what the lower bound of optimization is. It's far more telling to just talk about previous projects the person has worked on to gauge their level of competence. Asking them to explain why they made the choice they did vs trying to see how much they can memorize tests two different skill sets. The person who ma…
Dynamic Programming vs. Divide-and-Conquer (2018)
21–30 of 120 posts
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#22Earlier quoted context omitted.
Most of these types of algorithms already have tons of research available online as people try to figure out what the lower bound of optimization is. It's far more telling to just talk about previous projects the person has worked on to gauge their level of competence. Asking them to explain why they made the choice they did vs trying to see how much they can memorize tests two different skill sets. The person who ma…
How does someone talking tell you if they can actually do basic programming... I think you would be surprised at the number of people that apply for software engineering jobs but barely know how to program.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#23The ratio of importance placed on these algorithm design in interviews vs the amount of times they actually come up in real world problems seems skewed IMO.
I would argue that it's a pretty good measure of programming and CS problem solving skill with weak alternatives.
Sure if you're applying for a job that really demands algorithmic design skills it should be a great asset but in general the most valuable skills any programmer has is producing simple and robust code that works and others can continue building on. I don't deny that knowing algorithmic design skills well helps a lot but it does seem to feed the egos of the programmers to produce overly complicated solutions.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#24Earlier quoted context omitted.
How does someone talking tell you if they can actually do basic programming... I think you would be surprised at the number of people that apply for software engineering jobs but barely know how to program.
To be fair, I know a fair number of people who are good at competitive programming but are absolutely awful at writing maintainable code.
I was into competitive math as a teenager and was somewhat successful, but I actually kind of suck at math.
Similarly, I'm a professional developer but I'm really bad at competitive programming: what usually happens is that I know how to solve the problems but the time limit is too low (for me, at least).
I'd say success in competitions is a good indicator of dedication and perseverance, but not sufficient to spot someone who's good at the job.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#25The ratio of importance placed on these algorithm design in interviews vs the amount of times they actually come up in real world problems seems skewed IMO.
I would argue that it's a pretty good measure of programming and CS problem solving skill with weak alternatives.
Now, I do get that there's a lot of people who don't like spending time at home for interview tasks but when you think about AND it's not skewed to extreme (say, big task 8 working hours worth) then, in terms of time wasted, it's not such a big difference. Interviewer can then see the code quality, can talk about it with candidate, clarify some missing pieces or pitfalls found, etc.
IMHO most important is not if the candidate knows how to solve some hard or even medium problem when I speak to them and they are stressed enough already. What is important is if they're willing to learn, if they know how to search for stuff they may not know and if they can produce performant enough, but excellent to read, code.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#26The ratio of importance placed on these algorithm design in interviews vs the amount of times they actually come up in real world problems seems skewed IMO.
I would argue that it's a pretty good measure of programming and CS problem solving skill with weak alternatives.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#27Earlier quoted context omitted.
I would argue that it's a pretty good measure of programming and CS problem solving skill with weak alternatives.
It's much better to give a candidate a simplified version of your typical daily task. Give them enough time so they can google and learn if needed. That usually means very simple task that you could solve in hour or two at your leisure at home. Now, I do get that there's a lot of people who don't like spending time at home for interview tasks but when you think about AND it's not skewed to extreme (say, big task 8 wo…
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#28Earlier quoted context omitted.
It's much better to give a candidate a simplified version of your typical daily task. Give them enough time so they can google and learn if needed. That usually means very simple task that you could solve in hour or two at your leisure at home. Now, I do get that there's a lot of people who don't like spending time at home for interview tasks but when you think about AND it's not skewed to extreme (say, big task 8 wo…
It depends what you're looking for. If you want someone who can turn the handle on your typical daily task then, sure, test them on your typical daily task. But if you want someone capable of developing solutions to brand new problems then it's not so easy and testing fundamental computer science theory is important.
Interviewing in eng is broken, but afaict its a “worst solution save all others” kind of scenario.
But let us not begin to deem these intrinsically important.
Some of the most creative and productive coworkers I’ve had struggled with leetcode style interviews. They’re a bad tool for anyone who isnt a new grad, and even then.
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#29The diagrams in this article are excellent. Does anyone know what the author used to make them?
I made them in draw.io
Also I thoroughly enjoyed your post, well done on explaining a potentially complex area so clearly - I’ve signed up for future posts!
Re: Dynamic Programming vs. Divide-and-Conquer (2018)
#30The ratio of importance placed on these algorithm design in interviews vs the amount of times they actually come up in real world problems seems skewed IMO.