6 ms·
I consider myself rather smart and good at what I do. It's nice to have a look at problems like these once in a while, to remind myself of how little I know, an
by lbreakjai 9mo ago
I consider myself rather smart and good at what I do. It's nice to have a look at problems like these once in a while, to remind myself of how little I know, and how much closer I am to the average than to the top.
- apsurd 9mo agodisagree. nobody has a monopoly on what metric makes someone good. I don't understand all this leet code optimization. actually i do understand it, but it's a game that will attract game optimizers. the hot take is, there are other games.
- sevenzero 9mo agoAlso leetcode does not really provide insight into ones ability to design business solutions. Whether it be system design, just some small feature implementation or communication skills within a team. Its just optimizers jerking each other off on some cryptic problems 99.999999999% of developers will never see in real life. Maybe it would've been useful like 30 years ago, but all commonly used languages have all these fancy algorithms baked into their stdlib, why would I ever have to implement them myself?
- thorncorona 9mo agoOr more likely, the commonality is how you're applying your software skills? In every other field it's helpful to understand the basics. I don't think software is the exception here.
- sevenzero 9mo agoUnderstanding basics is very different to being able to memorize algorithms. I really dont see why I'd ever have to implement stuff like quicksort myself somewhere. Yes I know what recursion is, yes I know what quick sort is, so if I ever need it I know what to look for. Which was good enough throughout my career.
- lbreakjai 9mo agoBut this is an interview problem at Anthropic, not at your local CRUD factory. They _are_ looking for the optimizers, because they _are_ working on cryptic problems the 99.9999% of us will never encounter.
- saagarjha 9mo agoThis is explicitly not Leetcode, in fact its goal is to attract optimizers
- tuetuopay 9mo agoThis is the opposite of leet code. Yes, this applies to some simulated imaginary CPU with an artificial problem. Except that the job asked here is exactly the core of what a performance engineer will do at anthropic: optimize kernels for their fleet of GPUs. Is it simplified? Yes! (e.g. the simulator does not restrict memory access patterns) This is a real-world problem adapted to a lab setting that can fit in one's head in a matter of hours. Leetcode would have you reimplement the hashmap used in there.
- TrackerFF 9mo agoWell it is a specialized problem. If you've never worked on anything similar previously, it is going to take time. Don't even need to interview for selective billion dollar companies like Anthropic to encounter these types of problems - after college I interviewed for various electronics/hardware companies where you'd get asked to optimize low-level code - which would have looked quite foreign, if you had never actually worked on such problems before.
- Onavo 9mo agoIf you ask an EE to debug react state management code without prior exposure they won't do too well either. But on the other hand they can easily pick up most of it after a week long crash course while training a performance engineer who can optimize code for a specific architecture would take months.
- ignoramous 9mo ago> EE to debug react state management ... easily pick up most of it after a week long crash course while training a performance engineer ... would take months Isn't that mostly because as you go up the abstraction layer, tools and docs to teach yourself the tricks of trade fast are in abundance (let alone a popular layer like React)? Which inturn is likely a function of incentives and opportunities.
- fny 9mo agoIt's because the higher up the stack you go, tools become more declarative and literate. Calling sort is far easier than understanding the algorithm for example.
- giancarlostoro 9mo ago> Calling sort is far easier than understanding the algorithm for example. This was one of my gripes in college, why am I implementing something if I just need to understand what it does? I'm going to use the built-in version anyway.
- fergie 9mo agoI'm 30 years in, and literally don't understand the question.
- deleted 9mo ago[deleted]
- measurablefunc 9mo agoGenerate instructions for their simulator to compute some numbers (hashes) in whatever is considered the memory of their "machine"¹. I didn't see any places where they actually disallow cheating b/c it says they only check the final state of the memory² so seems like if you know the final state you could just "load" the final state into memory. The cycle count is supposedly the LLM figuring out the fewest number of instructions to compute the final state but again, it's not clear what they're actually measuring b/c if you know the final state you can cheat & there is no way to tell how they're prompting the LLM to avoid the answers leaking into the prompt. ¹https://github.com/anthropics/original_performance_takehome/blob/main/problem.py#L64 https://github.com/anthropics/original_performance_takehome/... ²https://github.com/anthropics/original_performance_takehome/blob/main/problem.py#L567 https://github.com/anthropics/original_performance_takehome/...
- saagarjha 9mo agoWell, they read your code in the actual hiring loop.
- measurablefunc 9mo agoMy point still stands. I don't know what the LLM is doing so my guess is it's cheating unless there is evidence to the contrary.
- saagarjha 9mo agoWhy do you assume it’s cheating?
- xenihn 9mo agoIt comes with test suites, so that gives you a base to start from. You can at the very least do trial-and-error and come up with some heuristics on the fly. You're at a huge disadvantage to someone who has some familiarity but can convincingly play it off as being a newcomer, though.
- chistev 9mo agoWhat we know is a drop, what we don't know is an ocean.
- mangatmodi 9mo agoSmart is different than the knowledge. If you learn about these concepts andwork on these problems, then you will be able to solve them. It's not about you being average, just a different knowledge set.
- LouisSayers 9mo agoIt's the type of thing you'd be exposed to in a computer science degree - operating systems / compilers. Always room to learn in software :)
- deadbabe 9mo agoIf you think you’re average, you’re not average.
- epolanski 9mo agoComputing is a very broad topic. Even Linus or Carmack have no skills or knowledge about countless topics that would be mundane to you. It doesn't matter really, what matters is our ability to stare into the void of what we don't know and start making progress. Our ability to process and master new topics is part of the job. I'm sure you've done that countless times.
- elzbardico 9mo agoThere's a big chance you're falling in a subtle form of imposter syndrome that manifests itself by largely over-estimating the average skill level. But this is good. Staying humble makes you hungrier for learning.
- ActorNightly 9mo agoYours is a good mentality to have because it creates the emotional drive to learn more, so don't lose that. That being said, this isn't really that complicated. Its just a matter of taking enough time to look at the code and understand how its structured. I feel like the thing that differentiates developer skill is pretty much being able to do that, specifically in the process of having the model of the program in your head.
- sigbottle 9mo agoDoes it? For me, I've had that mentality for the longest time and I didn't get anything done because, well, "I'm just average". For me, a little bit of arrogance (there's no way I couldn't do X, let's go do it), even if I end up "looking stupid" (see, I told you it was that hard!), was far more valuable to my development
- gervwyk 9mo agoDon’t stress, its very likely that this problem was vibe coded :) It’s insane how much better Claude Code is compared to alternatives lately.