Oxidizing the Technical Interview
blog.mgattozzi.dev
blog.mgattozzi.dev
* If you're going to emulate a writing style, you need to go all in. Study the word selection, cadence, choice of punctuation…go back regularly to ensure you're consistent with it. Once you set up a reader's expectations, anything that doesn't match will stick out and break their immersion. Read it yourself, and then if possible get others to read it too and do the same thing: hopefully they'll see the problems you may have missed.
* Each of the original blog posts had one specific "technical flex" in mind, and they stayed on topic. The one here is not quite clear: it seems like it's "programming on the bare metal", but it does too many things for a result that isn't all that surprising. Ok, you ditch Rust's standard library, and core features of the language…but then you copy paste it back anyways, and after that you link against libc and call printf. The point is to show that you can do better with all your work, not the same.
* At the very end: you are an expert Rust developer, better than your interviewer. You know you're not going to get an offer, but you didn't want one from them anyways. You're certainly not desperate to impress them.
Now that I've read the whole thing, a couple of technical comments:
* You can use -lc on macOS, libSystem will handle it for you.
* The existence of a "frame pointer" is a myth spread by bad programmers. There's no point in touching that register and certainly no need to waste two bytes stashing it on the stack, for goodness sake!
* The word selection in your comment isn't quite right. Linus has been known to use expletives others deem inappropriate when reviewing another human being's work - but since that's what you seem to be going for, you might as well commit to the bit.
* The big difference between your comment and Linus's rants is that he's doing it when giving feedback that other people actually requested, rather than going off at some random person on the internet.
* It seems your Linus impression is also a bit out-of-date, as he has publicly apologized for being a jerk in 2018. Maybe you were going for "vintage Linus", but it just didn't cut it for me.
Although you've nailed the attitude there, I fear the real problem in your comment writing is that it's not backed by a solid knowledge of what you're writing about. For example, it seems you wrote 80% of your comment before reading the entire article? This may be a throwback to other classic comments I'm missing - but if I missed it, then others will too, so it seems the onus is on you there.
Now that I'm done reading your whole comment, I must say I wasn't very surprised, but also not very impressed. I've read better comments than this one before, and I couldn't really tell what you were trying to achieve with it.
Next time try adding a table of contents, maybe some primary sources, or consider not attempting that kind of comment at all, if you're not confident you can pull it off? Just my two cents!
Personally, if someone consumed something I worked on, actively felt that there was something they felt could be improved, and didn't mention it to me, I would have felt as if they had done me a great disservice. I don't have to agree or even take their input into account, but I would very much like it to exist.
And that's a perfectly fine personal preference - but it's not the default.
My issue with your comment is not that you didn't include anything positive. It's that you're directly addressing the author, giving them feedback they never asked for! Just like you didn't ask for my parody of your comment.
HN is not an open issue tracker for "every blog ever". Comments like the top of this thread keep happening, and are part of the reason some people disable comments, or end up blocking some referrers altogether.
Asking if someone is open to feedback on something before offering criticism is really not that hard, and does wonders for everyone's mental health.
what part of @saagarjha's comment are you referring to here? TFA is clearly meant to be a riff on Aphyr's posts (they're linked on the first line) so i'm guessing you mean something else?
> give them unsolicited reviews of their work
i mean, a significant portion of HN comments are "i liked/didn't like the article because XYZ", none of which are "solicited" in any way. what's different about this one?
as a writer i'd probably prefer sth like @saagarjha's comment to e.g. "i was hoping it'd be more like Aphyr's stuff, didn't really hit the mark for me"
--- edit ---
and i don't mean this as a gotcha, but what's different about e.g. [this comment](https://news.ycombinator.com/item?id=22450007) about your own article, saying
> this guy needs to learn to edit things down
your response in that thread was very different despite the comment's harsher tone.
If I were, I'd probably be courteous enough to link to it as the original author did.
> Linus has been known to use expletives others deem inappropriate when reviewing another human being's work - but since that's what you seem to be going for, you might as well commit to the bit.
I don't swear online :)
> The big difference between your comment and Linus's rants is that he's doing it when giving feedback that other people actually requested, rather than going off at some random person on the internet.
Sadly, I tend to do this far too often, and my goal is that it is not characterized as "going off at" people. I'm working on it.
> It seems your Linus impression is also a bit out-of-date, as he has publicly apologized for being a jerk in 2018.
See above. My audience is much smaller than Linus's, so it's likely that you may not have seen my apology for being a jerk in 2018.
> Although you've nailed the attitude there, I fear the real problem in your comment writing is that it's not backed by a solid knowledge of what you're writing about.
Actually, I happen to have already read the linked material, so I think I have a fairly decent background in Aphyr's writing.
> For example, it seems you wrote 80% of your comment before reading the entire article?
That is correct. You'll notice that I commented on the article's style early for reasons I explained in the comment itself: I didn't need to finish it to provide that feedback, and the thing I referenced itself gave me reason to pause reading. I withheld technical feedback until I finished.
> I've read better comments than this one before
I should hope so!
> I couldn't really tell what you were trying to achieve with it.
Provide constructive feedback to the author.
> consider not attempting that kind of comment at all, if you're not confident you can pull it off
Thanks, but I personally prefer to not shut down people who are trying to improve their writing.
So your goal is not to change your own behaviour, which by your own admission has been found annoying by others before, but to change people's perception of it.
> I'm working on it.
Well if you are, your comments on this thread are certainly no evidence of it.
Currently, yes. The problem that was brought up was that some people viewed this as a rant/criticism, so if I can make it not appear to be that (and thus no longer annoying) I feel like that would address the issue?
What makes you so sure that those people are wrong and you are right? There is this saying, I don't remember by who, that goes something like "If someone is an asshole, they're an asshole, if everyone is an asshole, you're the asshole".
To be clear, I'm not accusing you of anything. I just think maybe some introspection is warranted?
Isn't honest, critical, constructive feedback par for the course on HN?
On the subject of technical interviews, I recently collected, cleaned up and published [2] the code exercises I submitted to Monzo, Geckoboard, SitePen & Masabi (and a Google one which I didn't actually submit).
All code solutions, except one, let me proceed to the next stage of the application process, and I hope this can help others, or at least offer an interesting insight.
[1]: https://insights.stackoverflow.com/survey/2020#most-loved-dr...
[2]: https://umaar.com/blog/my-code-exercise-submissions-part-1/
[1]: https://aphyr.com/posts/340-reversing-the-technical-intervie...
> “Og én,” you recite, sing-song, “Til javanissen!”
I'm not sure if there's any deeper meaning to the joke. I didn't think much of it until I read the subsequent paragraph of the text and figured out what was meant by "og én til javanissen".
One possible reason for this is because most of the constant pool entries work by indexing in to itself recursively (so you can do pool[pool[thing].value]) there’s no way of using a null or missing value.
So when you have java.lang.Object, the super class field contains 0 to indicate that there is no superclass, and if 0 were a valid index into this pool structure then this approach wouldn’t work.
Of course whatever the reason, we have been stuck with this implementational quirk since the first Java release, and it would be a backwards incompatible change if it were different, just like the fact that double and long occupy two slots on the stack - because that was a quick way of allowing 64 bit values on a 32 bit stack, and even though most JVMs now have a 64 bit stack we still “waste” a slot entry each time.
So the toast “one more for the Java gnome” is the extra space you have to allocate for the 0th entry of the constant pool in Java class files.
You mean meth?
See Killer High by Peter Andreas for more fun military history about drugs.
The framework comes ab initio, because i'd spend my teenage years hysterically refining versions upon versions of them.
I might well do the same thing now. It's a seductive display of sheer hubris.
Why do people always talk about coding like this? I don't hear architects or electrical engineers talking like this.
Sadly for me, whatever wisdom it may have contained will have to remain a mystery.
I don't mind colloquialisms where they add to the depth of the content.
The article in question, however, is written in a circumlocutory style that suggests more effort was put into the style than the substance.
I admit that it's possible that the signal to noise ratio in the article is better than I assumed, but I don't have to subject myself to tedious writing when there is so much good stuff I could be reading instead.
That is: if you were reading a novel or short story, would you have the same complaint?
Like, the style's kinda the whole point. It's a key part of the artistic value of literature, and what makes literature entertaining (or at least moreso than reading a dictionary front to back).
https://stackoverflow.com/a/1732454
Same style, methinks.
That is some great writing; some great prose!
Perhaps in another life, one where they didn't have computers -- you would have considered becoming a Writer?
Like if you wrote a SciFi novel... I (and probably a lot of other people!) would read it!
That being said, it can be useful in closed source repos for specific circumstances.
It would be nice if we changed what the flag is named every stable release as a way to "discourage" its use. I wonder if I should write an RFC.
If it shouldn't be documented, then it shouldn't exist.
Beautiful. Bravo. More please, I enjoyed this too much
Error The address "Z̴̧̡̢̨̛A̷̡̡̢̢̡L̶̢̧̢̪̬Ģ̵̡̢̢̧̛Ơ̵̡̡̬͇̬ ̵̡̧̢̛̳Ċ̷̢̨̢̼̰Ǫ̷̨̧̢̛͎M̵̡̨̖̹̣E̴̢̧̨̨̛S̸̱̠̹̮̣@gmail.com" in the "To" field was not recognized. Please make sure that all addresses are properly formed.
zal_mes-55a8ss0clxz2ivbded0gccaaccafieacacagabf9af3jlfjijxcffa5e8eja5kzd9c8fxb5agq5a0d1af8fvcm5pm4a6p@gmail.com
Which is 111 chars. If it allowed spaces in quotes, which is RFC-compliant:
"zal mes"-4eb6x27ct1aw3j5bdccd5hecaaccabfkeacacagcabf4bf0llfggil1acffa3fyfja1m8dtd5e4a4c7agfq7a8d7af6g1cm9rm6anr@gmail.com
122 chars.
To those 'serious' interviewers with 10x developer syndrome looking at this as an 'optimal solution', just don't tell candidates to do this on a whiteboard in >20 mins. You might as well ask for a candidate to do it in LLVM IR.
EDIT: Even though the whole post is a great hack and a joke as I already outlined earlier, it still looks like some HNers still can't take/see jokes! %:O)