I think it really depends on the job. In most jobs I've had the algorithms rarely get more complicated than just avoiding accidental O(N^2). The sort of thing where juniors would do a linear search.

But I did have one job working on an AI graph compiler which used fancy algorithms all over the place. In practice though I found the space between "use the standard library" and "it's NP-complete; use heuristics" where the answer is "you can use this neat dynamic programming trick" is basically nonexistent.