More importantly I appreciate the OP for describing lessons learned through this hard experience. I worked in finance: Cassandra is no kind of answer for systems of record
Thanks
Why does it require 30,000 servers to process millions of daily transactions? Is there a typo in the amount?
"What number am I thinking of?"
Smart developers - really smart developers are always right. Truly great developers have seen this sort of problem before and know how to attack it - they need no fancy questions or "deeper understanding". They simply hit the whiteboard, do the logic and output the answer.
Don't settle for anything except A players.
% isIt3
10
0
6
4
8
0
9
5
I found three
----
proc isIt3 {} {
variable 3 [expr {int(rand()*12)}]
switch $3 {
3 { puts "I found three" }
default { puts "$3" ; isIt3 }
} ;# end switch
} ;# end proc
The number you're thinking of is 3. (-:I don't think this is a good interview question, but I do think it is interesting as a thought exercise.
I bet that perhaps 25% of candidates could actually answer the question correctly, even if they didn't know anything about Schelling points. It could also lead to some nice discussions about how to solve an open-ended problem, probability distributions, strategies for maximizing payoffs when making decisions in the face of uncertainty, and so on. The question is so bad, it's actually kind of good.
Same with your last sentence.
But assuming you are unwilling to answer any additional questions, the correct solution is to simply brute force every number up from 0 and its negative.
Disastrous in the hands of an interviewer who’s looking for a one word answer.
More relevant to the topic at hand, I feel like I didn’t put that much thought into designing my interview questions, but I’m always astounded when I read these sorts of descriptions of other interview questions. There should perhaps be some formal training or certification or something for asking good engineering interview questions.
"How do mobile phone towers work?"
Sometimes you gotta fire your interviewer.
naming "cassandra" is not designing a database.
it feels like there was some miscommunication along the way
You sweet summer child.
The things I've seen at certain worksites...
And the lesson of the blog is why forcing LLM usage is stressful to some engineers. Most implementations are in a quantum state and the back and forth to have clear requirements is what can make the wave function collapse. We know all the possible answers , but all of them are equally valid.
We could go with the LLM route and just do a quick guess on the answer, but "Accountability" and "Professionalism" prevent us from doing so.
A "database" that starts to fall if the ring in the cluster becomes choked? Draining a broken Cassandra ring and under high load is hell and ball clenching.
Especially hoping that another Cassandra node doesn't fail under high load. Pish, Erlang and mnesia.
The topic of the database came up, and I asked "Do we care more about consistency or availability?".
He responded back with "we want both".
I said "I mean, I would like both too but I'm pretty sure we can only get one"
He disagreed and we went back and forth, and eventually I pull out my phone and pull up the Wikipedia for CAP theorem. He eventually (and begrudgingly) agreed and said "umm, I guess availability", so I used Cassandra and moved on with it, though five minutes were wasted with this pointless argument.
To be fair, they did make me an offer, and it was even a decent enough offer (though I ended up taking a different job), but I remember being kind of flabbergasted that I had to explain CAP theorem to a person who had like a decade more experience than I did. It's not like CAP theorem is this super deep arcane topic; I'm pretty sure it's one of the first things you learn about when getting into distributed systems. It was certainly one of the first thing that I learned about.
> The CAP theorem is not a suggestion. It’s a mathematical proof.
> this is not a philosophical inconvenience. It’s a compliance violation.
@dang, i thought we just banned AI written blog posts?
I know I will get downvoted for this everytime I post this comment, but I'm sick and tired of 80% of everything being written/heavily edited by AI.
Can the author not just use his own words? Is he really that bad at writing? But somehow the content is supposed to ne worth my time?
I'd rather read the prompt instead, so I know which parts the author actually meant to say, rather than wondering which parts the AI invented to make it sound flowery and punchy, the Tiktok style of prose.
noemit•4d ago
keyle•1h ago
rockemsockem•1h ago
pinkmuffinere•1h ago
I feel this is misleading. I think a reasonable definition of a 'good' engineer is engineer in the 75th percentile and above for their craft. You can debate other definitions, I'm not saying this is the only reasonable one. But by this definition, I think you can immediately see that it is hard -- given 4 engineers, we expect that only one of them is "good". And what if your standards are higher? What if you only want _great_ engineers? I can't believe that it's easy.
carefree-bob•39m ago
Many, many forces lined up against meritocracy. All the incumbents, for example, tend to have something to lose, but it's the incumbents who decide if you are hired.
It's a miracle that there are any good companies once the original owners are gone.
mcny•28m ago
1. Person who cares 2. Person who is knowledgeable 3. These two must be the same person!
kulahan•9m ago