/average-leetcode-guy

not a trivia questions fan

Primary LanguageTypeScript

My Leetcode things

Disclaimer: I don't like leetcode, I don't like this interviewing method either. I just truly believe that swe can't be judged against a 30 min window where they should be implementing a binary tree traversal. Can it be a filter ? Sure, but, can it give you a whole picture of the candidate you're interviewing? Highly doubt so.

I just re red the above paragraph and I sound a bit angry, might be, but trust me, I have my reasons, and I believe I can propose a new method of judging candidates.

As someone with a little bit above 5yrs of experience more or less, I can't recall one single time I had to implement a full binary tree traversal. Or something along. Why ? There're many libraries made by (fact) super smart people, those github usernames with no picture and just a repo, that outperform any implementation out there.

As a sr software engineer things you might be dealing with are, probably, IAM role issues over aws(or gcp), deadlocks, race conditions, making a concurrent script to fix production importing bluebird's Promise.map and checking what's the sweet spot for the concurrency parameter for not getting kicked of a third party API you might be needing to send a request to. Trust me, there's no scenario where you would be doing a if (root.value) kind of thing, unless you're doing some research.

Is this the current state of interviewing because of many developers on the market ? Or just because we started out thinking

- oh if google interviews this way, we should do the same (acme corp, 5 employees).

A better approach should totally be, strictly speaking for positions that have a couple of years of experience in, talking about previous experiences, technologies used, trying to dig deep into the method of thinking why did this candidate went with x instead of y, and the tradeoffs that come with it. Most of the real world dev daily things are about tradeoffs, can we implement X inhouse ? Should we use the X-API implementation? What if a couple of months in we're vendor locked in (I'm trying not to use too much jargon tbh) and for some reason we need to change providers ?.

That's, IMHO, a pretty good perspective and way of surfacing battle scars and oneself's way of thinking.

Anyway, like bear grylls said, improvise, adapt, overcome, so here're my average stabs at leetcode things, sometimes you'll be able to find better performant solutions over my leetcode profile.