4 ms·
Not quite but almost: Leetcode doesn't evaluate programming proficiency but ability to solve complex and abstract problems using programming. Doing so doesn't r
by tlextrait 4y ago
Not quite but almost: Leetcode doesn't evaluate programming proficiency but ability to solve complex and abstract problems using programming. Doing so doesn't require being good at programming but being good at solving problems, and doing so using a programming language. It doesn't require knowing a language well, but only well enough to solve the problem.
- mikymoothrowa 4y ago> It doesn't require knowing a language well, but only well enough to solve the problem. I guess that really depends on the language. IMHO, if you can solve a reasonably complex problem using a language, you know that language.
- pxx 4y agoThis doesn't seem right at all. I can kludge together a solution to an arbitrarily complex problem in any language, but that doesn't mean I'm writing it in a way that can be extended and developed upon by other people. The latter is also what takes up the majority of development time.
- lupire 4y agoA one-day interview can't test you on things that take up the majority of your career time.
- Floegipoky 4y agoI am on the interview team for the company I work for and I wrote what some consider to be our canonical python solution (fastest and simplest) for one of the problems we use. I had to look up the syntax for a "for loop" because I hadn't written python since my first year at university. To me, being able to stitch together simple concepts present in almost all mainstream programming languages doesn't mean I know python, it means I know how dynamic programming works. I don't know the python ecosystem (history, present, or future), know the standard library, know what idiomatic code looks like, deeply understand what makes the language unique, have the mindset of a python programmer, etc. Maybe I just have a high threshold for feeling like I "know" a language.
- b20000 4y agoi did a leetcode interview in c++ and didn’t remember some syntactic details of lambdas and that was the end of it. please stop with this nonsense that interviewers are understanding and that you can look things up or that you will be able to take your time to produce the optimal solution to a problem.
- Floegipoky 4y agoWell I can't speak for other interviewers especially at other organizations, but I try very hard to make it a positive experience. In fact I'll give as much help as necessary to get to a working solution, within reason. I would much rather fix the lambda syntax myself or help the candidate find an example on stackoverflow so we can go back to the interesting part. If the interview ends with a working solution but needed a ton of help, the candidate probably did not pass but maybe they learned something. And maybe they'll tell their peers that it seemed like a place where they could fail without embarrassment, collaborate, and learn.
- maerF0x0 4y agoI've had zero or near zero gotcha string problems in my professional career, which are many of the leetcode problems. Find the (gotcha) in this string and emit len(gotcha) ... Now do it computationally efficiently (or be able to explain tradeoffs to other resources).
- Ancalagon 4y agoDon't forget: in 45 min, without bugs
- maerF0x0 4y agooh and do it in Go* ... Good F'ing Luck . Go makes normal string operations tricky due to rune being an alias for int32, ranging a string gives []byte indexes ... https://go.dev/play/p/33jCwNG6Eu6 https://go.dev/play/p/33jCwNG6Eu6
- Tomis02 4y agoIt's a bit sucky but you can use the standard library function "utf8.DecodeRuneInString(a)".
- tlb 4y agoString problems are rare, though may come up more in search engine companies. But manipulating sequences comes up a lot in many contexts. Usually it's sequences of more complex things: instructions, packets, files, polygons. It's hard to assign tests directly on those, because you have to explain the objects themselves first. So it's a reasonable shortcut to test ability to manipulate sequences of characters.
- lupire 4y agoYou mean simple abstract problems, right? LeetCode problems are solved with under 50 lines of code, using textbook models.
- infamouscow 4y agoThis is fine, except when the candidate knows substantially more than the interviewer about how to solve the problem. I was once asked to implement a spsc circular buffer, and I used C++11 atomics rather than a mutex. I wrote up a working solution, but most of the interviewer's followup questions fundamentally didn't map to my wait-free solution. I spent most of the time explaining to the interviewer how atomics and non-blocking algorithms work. The FAANG rejection email came a few days later. So I don't think these interviews evaluate the candidate's ability to solve complex and abstract problems. They seem to evaluate the candidate's ability to grind contrived sophomore-level computer science homework. Experience solving the real-life version of the problem rather than the academic one is unwanted.
- b20000 4y agothis illustrates the problem very well. your lock free solution is superior yet the interviewer had no clue and you only know about this solution due to experience which is not what leetcode optimizes for.