Live data from Hacker News

Brute-forcing my algorithmic ignorance

blog.dominikrudnik.pl

41–50 of 59 posts

Re: Brute-forcing my algorithmic ignorance

#41

Note: I haven't done any tech interview in 6 years. I'm kind of surprised they still do leetcode-style questions on remote interviews these days. I thought those types of interviews would be 100% gamed by now.

Still plenty of signal. You'd be surprised at how badly most people do at very simple questions.

Yeah, this.

In my experience, it’s the relatively basic questions that have the highest value — both because they’re what you run into programming most often, and because they’re less likely to overwhelm candidates in a high-stress setting.

The goal, at least from my point of view, isn’t to see if they can come up with the perfect algorithm, but about how they construct an algorithm, how they communicate about the decisions they’re making, how they respond to challenges about edge-cases, etc.

I’m also strongly in favour of picking out questions that are reflective of the actual codebase they’re being hired for — find something with some basic algorithmic complexity which has a relatively simple and easy to explain input and output, and use that as the problem.

In general, I think the best problems are those which any competent senior engineer could design a good solution for almost off the top of their head with little difficulty.

Re: Brute-forcing my algorithmic ignorance

#42

Note: I haven't done any tech interview in 6 years. I'm kind of surprised they still do leetcode-style questions on remote interviews these days. I thought those types of interviews would be 100% gamed by now.

Still plenty of signal. You'd be surprised at how badly most people do at very simple questions.

I am quite passionate about algos, do lots of katas on codewars for fun, and done plenty of leetcodes.

Then I had a technical interview when I was asked to implement a simple algo for the tris game (aka tic tac toe) and my mind was completely blurry.

I was tired, i'm in eu and this was for a San Francisco startup interviewing me at their lunch time, very late in Italy.

And generally don't like to be interviewed/tasked.

Of course the solution is beyond simple, but I struggled even at brute forcing it.

I can easily do these kind of exercises (and much harder ones obviously) for fun, but not when interviewed.

I struggled with the same thing in University. I graduated with 104/110 even though I was consistently among the most prepared, and I learned to learn, not to pass exams (plenty of stellar performers didn't remember anything few weeks after exams).

Once I asked a professor why did he grade me 27/30 even though I spent one hour answering with details on everything, including the hardest questions.

"Because you never appear convinced when you answer".

I get nervous, I don't like to prove my knowledge this way. I rethink constantly what I'm saying, or even how I sound.

I forget how to type braces or back ticks.

I did not have any issues when not interviewed, or in written exams, or during my research period when I published 3 papers that have been highly cited.

But I am just not a fan of these types of interviews they tell absolutely nothing about the candidate.

You interview me and you'll have the very wrong impression if you ask me to live code or white board.

Meanwhile I've seen leetcode black belts spend most of their time logged on Tekken 7 on discord, consistently creating work and providing negative value while somehow always selling their high skills.

I have found much more value in seeing personal projects, and OSS contributions.

Never asked a single of these bs questions and never failed at hiring anyone. Not once.

Re: Brute-forcing my algorithmic ignorance

#43

Earlier quoted context omitted.

Still plenty of signal. You'd be surprised at how badly most people do at very simple questions.

I am quite passionate about algos, do lots of katas on codewars for fun, and done plenty of leetcodes. Then I had a technical interview when I was asked to implement a simple algo for the tris game (aka tic tac toe) and my mind was completely blurry. I was tired, i'm in eu and this was for a San Francisco startup interviewing me at their lunch time, very late in Italy. And generally don't like to be interviewed/taske…

> I am just not a fan of these types of interviews they tell absolutely nothing about the candidate.

Unfortunately this is wrong and I have seen tons of data at 5 companies showing this. These kinds of interviews really do correlate well with job performance

There is noise, but large companies in particular need a scalable process and this one works pretty well

Startups shouldn't do this though, but the reason is the opposite of what you're complaining about. It's too easy to accidentally waste your time on somebody who is good at leetcode

Re: Brute-forcing my algorithmic ignorance

#44

Earlier quoted context omitted.

I am quite passionate about algos, do lots of katas on codewars for fun, and done plenty of leetcodes. Then I had a technical interview when I was asked to implement a simple algo for the tris game (aka tic tac toe) and my mind was completely blurry. I was tired, i'm in eu and this was for a San Francisco startup interviewing me at their lunch time, very late in Italy. And generally don't like to be interviewed/taske…

> I am just not a fan of these types of interviews they tell absolutely nothing about the candidate. Unfortunately this is wrong and I have seen tons of data at 5 companies showing this. These kinds of interviews really do correlate well with job performance There is noise, but large companies in particular need a scalable process and this one works pretty well Startups shouldn't do this though, but the reason is the…

I have never seen correlation.

The most important thing about a candidate is whether he's gonna be professional and hard working.

Technical interviews tell me nothing about it.

Of course I can see large companies that have a high number of candidates relative to positions needing such methods, they can afford false negatives.

But outside those cases personal projects and OSS contributions say much more.

Re: Brute-forcing my algorithmic ignorance

#45

Earlier quoted context omitted.

> I am just not a fan of these types of interviews they tell absolutely nothing about the candidate. Unfortunately this is wrong and I have seen tons of data at 5 companies showing this. These kinds of interviews really do correlate well with job performance There is noise, but large companies in particular need a scalable process and this one works pretty well Startups shouldn't do this though, but the reason is the…

I have never seen correlation. The most important thing about a candidate is whether he's gonna be professional and hard working. Technical interviews tell me nothing about it. Of course I can see large companies that have a high number of candidates relative to positions needing such methods, they can afford false negatives. But outside those cases personal projects and OSS contributions say much more.

How many people have you interviewed and hired? I have interviewed around 400 and hired around 20, and I've seen data compiled on over 100,000 interviews. I have never worried about a false negative, except DEI stuff pre-2021

Maybe this is a Europe vs US thing?

Re: Brute-forcing my algorithmic ignorance

#46
I'm always interested in write-ups when folks try new attacks on self-study.

I will also admit that this part hurt my heart to read (vicarious embarrassment):

> the recruiter mentioned I needed to pay more attention to code debuggability (whatever this means - I assume that under the corpo-language, they mean that I wrote invalid code)

Re: Brute-forcing my algorithmic ignorance

#47

Earlier quoted context omitted.

I have never seen correlation. The most important thing about a candidate is whether he's gonna be professional and hard working. Technical interviews tell me nothing about it. Of course I can see large companies that have a high number of candidates relative to positions needing such methods, they can afford false negatives. But outside those cases personal projects and OSS contributions say much more.

How many people have you interviewed and hired? I have interviewed around 400 and hired around 20, and I've seen data compiled on over 100,000 interviews. I have never worried about a false negative, except DEI stuff pre-2021 Maybe this is a Europe vs US thing?

I've hired around 10 and interviewed around 50/60.

Half the people I hired, I did so without any technical interview, I met them in coding communities and saw everyday their OSS contributions and skills.

In any case I'm not debating your method is wrong, I'm just saying there's individuals like me that don't do well in these kind of situations/exams and can easily be false negatives.

I'm also saying that this isn't rocket science, and in general trying to understand if the person is honest and hard working is much more important than his coding skills.

I've seen way too many stellar graduates leetcode ninjas being just terrible at their job or completely uninterested.

And in Europe it's hard to fire them.

Re: Brute-forcing my algorithmic ignorance

#48
post #40

Recently had a coding interview in which I was allowed to search online but not use any AI. On the first google search, the interviewer realized that the first result is now AI generated and said I couldn’t use anything from there. So I had to just click on different links and piece together what I needed from inside the pages

You have to build a house but dont use concrete mixers you must mix by hand to really see if you know the physics of concrete

Re: Brute-forcing my algorithmic ignorance

#49

Earlier quoted context omitted.

Still plenty of signal. You'd be surprised at how badly most people do at very simple questions.

I am quite passionate about algos, do lots of katas on codewars for fun, and done plenty of leetcodes. Then I had a technical interview when I was asked to implement a simple algo for the tris game (aka tic tac toe) and my mind was completely blurry. I was tired, i'm in eu and this was for a San Francisco startup interviewing me at their lunch time, very late in Italy. And generally don't like to be interviewed/taske…

Yes, understanding algos is valuable, and implementing them of the top of one's head is a nice party trick, but in the end we're paid to solve problems and it's much faster and easier to identify existing solutions and adapt them rather than reinvent the wheel.

Knowing when and what to optimize is vital.

Re: Brute-forcing my algorithmic ignorance

#50
post #46

I'm always interested in write-ups when folks try new attacks on self-study. I will also admit that this part hurt my heart to read (vicarious embarrassment): > the recruiter mentioned I needed to pay more attention to code debuggability (whatever this means - I assume that under the corpo-language, they mean that I wrote invalid code)

I completely understand why that line caused vicarious embarrassment. Looking back, I realize my brain was(is) operating on a completely different definition of that word based on my daily constraints. I plan to write more about this in Part Two, but at that point in time, I wasn't even aware of this alternative understanding of the term.

In telco, when a remote node crashes at a client's site, I often only have access to a heavily restricted subset of logs, and the debugging communication loop via email can take days to understand "what happens". Because of that, I write defensive, strictly encapsulated code, and I think in terms of domain-specific states and objects that can be explicitly tracked from an external PoV.

Similarly, during game jams, "debuggable and maintainable" means to me that the code is modular enough that I can completely rip out and rewrite a core mechanic in the final 3 hours just because the game design suddenly changed.

My habit of writing code optimized for remote logs and sudden architectural shifts actually became my biggest enemy under the algorthimic interview (or 45-minute LeetCode) constraint. It makes the core algorithmic state less clear and hides algorithmic mistakes under layers of defensive "if" statements (where I would normally drop a debug log).

I am simply used to not trusting the inputs, whereas in algorithmic problems, the whole point is to exploit constraints that you need to be absolutely sure about.

So the "if" statements that usually increase "debuggability" in telco or during game jams are the exact opposite of the "debuggability" term used in algorithmic thinking.

Thanks for naming this issue so clearly - it is a very valid reality check.

Post reply on HN