-3

This may be a rant rather than a question; apologies...

As an interviewer, I would want to know if the interviewee can understand a spec for a real-world task; ask questions where it's incomplete; quickly sketch an API and overall flow structure, data structures and algorithms; and demonstrate that they understand tradeoffs being made (including security, when appropriate).

How many bits of trickological boilerplate they have memorized is nearly irrelevant. Those can always be looked up; true fluency and design skills are a higher-level skill and a mess common one.

I honestly believe leetcode has been massively oversold. It's fine to play with, and it is educational, but it has little to do with the skills people are actually being hired for.

So: Has anyone actually seen "leetcode style" challenges used in reviewing? Or is that a myth perpetrated by folks who don't know how to actually prepare for an interview, and/or who are trying to look for shortcuts that might make them seem more qualified than they are?

14
  • (I think you mean "used in interviewing" rather than "used in reviewing" in your last paragraph but I'm not certain enough to edit it) Commented Apr 21 at 15:01
  • Do you mean specifically the leetcode platform (that and a wikipedia article about it are the first hits for me for "leetcode") or the style of questions around small problems like an implementation of inverting a string list or the like? Commented Apr 21 at 15:55
  • 1
    Questions about finding micro-optimized solutions, which is my perception of what leetcode is biased toward, rather than getting the job done fast enough, running fast enough, with an interface that will let it be improved later if needed, etc. It's certainly possible my perception of the leetcode community is biased, but what little I've seen is too focused on efficiency and not enough about maintainability, clarity, and other real-world product development skills that are often not taught properly Being a developer, above grunt code-monkey level, has a lot more to it than LOC or cycles.
    – keshlam
    Commented Apr 21 at 16:28
  • 2
    "a mess common one" -> "a less common one" Commented Apr 21 at 18:23
  • 2
    Yes. After people are interviewed by big Tech (FAANG), they often go back to Leetcode and mark which questions are asked by which companies. For example, on Leetcode.com, these coding questions have been asked by Google in interviews: leetcode.com/problem-list/top-google-questions Commented Apr 22 at 2:13

3 Answers 3

8

Assumption: You mean questions like those on the leetcode platform (e.g. implementing a reverse sort, depth first search or the like) but not using the platform specifically for those.

Yes, I've seen those types of questions being used in interviews (at least in 1/3 to half the companies I had interviews with and mostly those where I considered the interview better overall - more structured, more clear and transparent etc - and that had a better reputation as a tech company / regarding their tech department) . And I've used them myself when interviewing a candidate. However, rarely has someone focused on "bits of trickological boilerplate" when using them to ascertain an interviewee - with few exceptions to see as one additional data point amongst others how deep the knowledge goes, e.g. in terms of memory management with C-style languages where it can be important to know about it to some degree.

Typically the focus of those questions are around ascertaining amongst other things

  1. how a candidate approaches a problem, e.g. do they ask questions to clarify
  2. how well the candidate is versed in algorithmic complexity, i.e. will they be aware that a O(n²) approach might not be the best but does the job for small sizes
  3. how do they structure their code - is it readable or when asked can they identify places that they would improve if it were part of a bigger project
  4. do they roughly know the options they have in the language (e.g. for loops exist, what are the typical data structures available, what are their pros and cons)

and then depending on what you are looking for, perhaps the problem can be used to check their knowledge of other libraries or concepts (api calls, concurrency, a library you use and they claimed to know) etc.

However, it's in all cases where it was applied well (in my opinion) a starting point and not about getting the question and delivering a perfect example in the best time or with the best performance. It's about having a starting point for a discussion.

And sure, it would not be the only content of an interview. Yes, for seniors or architects that shall design systems rather than write individual programs it is less helpful, still can be a valid part if they should review code but your focus would be elsewhere. But as a part of a regular developer interview I personally find it a nice option to have.

Like many techniques however, I assume, someone somewhere will use it "wrong" and look for perfect implementations of the problems stated only... I'd agree that that likely won't help them find the best person for their job (weird exceptions aside^^)

2
  • I think that answers the question as written. I need to review leetcode with a less jaundiced eye to see if I'm being unfair to it. I have to admit that even the name puts me off, as most self-declared "1337 haxx0rs" I've been exposed to are much more arrogant than competent.
    – keshlam
    Commented May 2 at 10:23
  • @keshlam thanks, I do think like many good things some people overinterpret aspects of it and then will misuse it - or use it in ways that don't make sense to me and my context but may for their particular context. I've obviously also a preselection bias as I might have filtered out companies early that would fit into one of these categories ^^ And I feel certain "leetcode interview mastery" online guides may give exactly the impression you might have - not saying you got it from that corner^^ just that there are paths that way layed out etc. And I agree that the name is a poor choice. Commented May 2 at 21:31
2

Yes. I use these questions in interviews for developers joining my company.

The reason is that my company is about efficiency. We're not some 5% above average; we're 40% more efficient than Amazon at things they do best. The only way to get there is to turn your brain on at every step of the process and ask yourself - "Is there a better way?"

If you don't ask this question and bubble sort an array, you're not going to ask it when designing travel routes for robots, handlers, and pilots. "Compute is cheap, thinking is hard" attitude doesn't only stay in code; it spreads to physical processes that are managed by code.

I don't expect developers to know algorithms by heart. There's time to look them up, to use google or AI, there's an option to ask the interviewer for advice, there's an option to ask for a different problem. The real red flag is when someone doesn't even look for a better solution than nesting for-each loops.

3
  • Granted re writing their own bubble sort. But my question would be a higher level one that includes sorting, rather than asking them to write a sort. And for me, writing a sort from scratch rather than using the library function would be the red flag unless the task has constraints which forbid doing so. Premature microoptimization is the root of many evils; infinite speedup of 1% of the runtime takes infinite effort for only a 1% performance gain.
    – keshlam
    Commented Apr 23 at 12:57
  • 1
    @keshlam I've seen people solve an O(N) task in O(N^3) time. And it was explicitly said this was a real-life problem and every API call will cost real money.
    – Therac
    Commented Apr 23 at 13:17
  • If first-time optimization is specifically what you are testing for, and the problem description you give the candidate says so, fine. Domain specific testing. In my experience the folks who would fail that badly will be obvious even with a basic test, nothing especially "leet" required. And I find it more informative to see if they ask about performance and similar constraints when given a fuzzier request than to immediately set the right goal. Tools for tasks, I guess.
    – keshlam
    Commented Apr 23 at 13:36
1

Just today i got a call from recruiting company , for 6 months contract position with possibility of extension. Recruiter is very clear about the interview process that at least 2 coding challenge (slimier of leetcode) will be given during the interview.

This is for a banking organization , not the top tier bank either. I applied for fidelity few months back i faced the same leetcode style interview.

I think it is getting very very common now a days. may be because of over supply of computer engineers think about half a million people lost jobs in tech 2022 and 2023 .

1
  • I'm trying to distinguish between coding challenges and specifically leetcode challenges. But that my reflect my perceptions of leetcode.
    – keshlam
    Commented Apr 30 at 23:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .