What kind of job do you have where someone tells you the algorithm? I can&#x27;t imagine my PM saying &quot;Let&#x27;s count recent events by storing it in a hashmap and using a linked list to track which elements have expired, can you code that up?&quot;<p>Instead, the PM might say &quot;We need a system which can count how many unique events of each type has occurred in the last 100k requests, with small impact to time, high accuracy, and up to 100mb of space&quot;<p>But even that would be unusually specific. It would usually be: &quot;the service breaks sometimes, can you figure it out?&quot; And then the engineers figure out that it&#x27;s because of unusual event distributions, and they figure out what needs to be done, how much space &#x2F; time they can afford to do it, etc. For instance, do you trade off accuracy by having a periodic job flush old events out of the map? Do you quantize by time to save space at the cost of resolution?<p>That&#x27;s what I do at my job, and that&#x27;s the kind of question I see in interviews. If a candidate is expecting to have the algorithms dictated to them, then I would not consider them to be a software engineer.. coding up a program from a specification would have been a technician&#x27;s job 30 years ago (now largely automated by compilers, synthesizers (for HDLs), and other tools). The software engineer should be coming up with solutions, which often involve using algorithms and data structures.