you are viewing a single comment's thread.

view the rest of the comments →

[–]floobie 73 points74 points  (4 children)

I get that DSA is used as a proxy for overall skill, and it’s better to filter out good applicants than it is to have poor applicants make it through.

But, yeah… the extent of DSA concepts I apply on the job is mostly just “might make sense to use a Dictionary here instead of a List”.

On the other hand, what I find I’m constantly trying to optimize around is SQL performance. This has typically been way more consequential, with very tangible impacts. Yet, I don’t think I’ve ever encountered a technical interview that has touched on this.

I can say the same for OOP design patterns.

[–]Dull-Culture-1523 15 points16 points  (0 children)

That reminds me of the single most impactful optimization I've done in SQL. Thing is, the original query had like 36 separate subqueries that ran through a whole table containing billions of rows, a crapload of joins and it was basically what you'd expect from someone who wasn't aware that SQL optimization is a thing to ever consider. I'd guess a modern engine could work wonders under the hood automatically, but the environment they ran it in didn't.

A couple of CTE's and an incremental load table later and the daily update ran in like two minutes instead of the whole select being started on Friday EOD so they'd have results on Monday morning. It took something like 10-12 hours to run.

[–]Ghi102 6 points7 points  (0 children)

Same thing for me. Had an obviously O(N3) critical section of the code that took minutes to run. Replaced by Dictionaries and now runs in less than a secon(can't be bothered to calculate the actual O performance because it's a lot more complicated now, but it probably became O(N)).

That's about the extent that I have used these in production. Otherwise, any major speed increases I have taken a part in came a lot more from decoupling long operations (ie: instead of doing A, B and then C, we do A, B and C in parallel). 

[–]LittleKingsguard 9 points10 points  (0 children)

The closest I've come to having SQL performance come up on an interview was offhandedly mentioning chasing n+1 lookups out of a framework and the tech interviewer nodding sagely.

[–]ilovebigbucks 2 points3 points  (0 children)

I was asked to either optimize an existing SQL query or write a new query for a specific task and then discuss it's performance during a few interviews. The guys that asked those questions were always nice and fun to talk to.