Hacker News new | ask | show | jobs
by hn_acc_2 1309 days ago
Actually, among the MAGMA companies I've found the _least_ bias for leetcode-memorization at Amazon.

My interview with Meta was exactly as you described (a CS riddle taken from a textbook, to be solved without running the code or receiving hints). But in my interview with Amazon, each coding interview also included a couple leadership questions. If you want you can look up the exact questions that they'll give you to test what they call their "Leadership Principles"

Also the Amazon coding questions were not taken directly from Leetcode, and were easily reasoned out without prior knowledge of a special algorithm.

1 comments

We have a question bank that we are required to ask from that can be found online.

Coding questions and system design challenges are individual to the interviewer. Some are good, some are bad, some are leet code, some are reasonable, it's kinda a crapshot. I saw a bar raiser (a bar raiser!) asking path finding algorithms as his coding challenge which is nuts to me. All that signals is if you've worked with path finding algorithms before, or remember your college class that taught A*

But I'll be honest, our interview process is public and online and hasn't changed in a long long time. We select mostly for people who have the spare time and dedication to learn our interview process.

It could also signal that you got motivated and took many hours out of your busy day to do a meaningless task like memorize a path finding algorithms. This might be a good signal that you will also be motivated to spend many hours doing meaningless things at your job.

Actually, if you think about it, the whole concept of getting a college degree isn't much different - its not about what you learn in the classes, it just shows that you have the capacity to go through an arbitrary social experience, follow a bunch of rules, learn some stuff, and stick with it for a few years - pretty similar to a job.

"the whole concept of getting a college degree isn't much different - its not about what you learn in the classes, it just shows that you have the capacity to go through an arbitrary social experience, follow a bunch of rules, learn some stuff, and stick with it for a few years - pretty similar to a job"

It makes me sad when I hear people say things like this. A college education has the potential to be so much more than this.

I took a poetry class, despite not being particularly interested in or appreciative of poetry and it opened my eyes and made me a life-long lover of poetry ever since. Philosophy courses taught me how to think more rigorously and question things many other people take for granted.

There were many other courses which weren't required for my degree that I sampled and wound up loving and learning to appreciate things I never would have otherwise been exposed to... even changing my major because of some of them.

I didn't even have any truly amazing teachers either, so I can only imagine how much better is the college experience of those who do. Having great classmates who inspire and motivate you can be fantastic too... not to mention the potential to make connections and broaden your horizons in all sorts of academic and non-academic ways.

College can change your life, change the way you think, open your mind and open your eyes, and so much more.

I agree 100%. To add to this, I can't tell you how many engineers I run into who possess amazing programming skills, but can not convey their thoughts and designs meaningfully in written or spoken word. Taking a few more humanities classes might not be a bad idea for most.
To be fair, I am not saying college can't be that kind of experience too! But when a company is looking for a college degree, they aren't looking to make sure their employees experienced enlightenment in a poetry class. They are looking for evidence that their employee completed a 4 year structured program.
What you should learn in college is how to teach yourself to always be learning. Or at least to be aware of the trap doors that await when you try to solve a problem in the real world.

Learning the Big O Notation performance of algorithms that traverse data structures isn't so you memorize all the different running times in perpetuity. It's so you realize that performance and the type of operations you want to commonly execute are something you need to consider for the data you have to work with.

If you didn't learn that from your college CS courses, I don't want you working on my team.

The other thing college shows is that someone is capable of committing to a long term goal and seeing it through. That's important.

Note: I am not saying non-college grads cannot commit to a long term goal, there's plenty of reasons people don't or can't go to college. I'm only saying that a college degree is a signal.

That was my point as well - its not what you learn in college, its that you can learn something. I am not a proponent of Leetcode (and suck at it personally), but I think the same concept applies - just shows you can learn an arbitrary puzzle framework tangentially related to the job you are interviewing for.

Its also my experience that as you get more senior and focused on a specific skill (I'm an iOS engineer), interviews tend to focus on that skill more than leetcode. I think there are a few stalwart holdouts (facebook + google), but I have interviewed with several trendy big tech companies and none of them asked me pure leetcode - it was always framed around my iOS skillset.

However, for a junior engineer there is no way to evaluate this kind of skillset since it doesn't exist - so Leetcode is a resonable substitute.

It's hard for me to interpret your comment since you never state who "we" refers to.
Sorry, we is Amazon.

I had made the jump from we->amazon because the article is about amazon, but I realize that isn't super clear to anyone else.

not the person who wrote the comment, but "we" -> Amazon.
Is a leet code question just one that has an obscure clever answer (like use 3 pointers to process the array in time O(n) ) that doesn’t really use broader knowledge of CS?