I have thought similar to the grand-parent commenter about having Amazon as a fallback in the Seattle area. Not my ideal but somewhere that is always recruiting me and would pay the bills if the smaller company I am working for went under.
Probably not working on the website though, which is hot garbage and has been for a decade.
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.
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.
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.
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.
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.
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.
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.
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.
Leetcode screens are a matter of grinding for a couple of weeks
Source: received an offer from them in March
Did you have formal compsci training before you started studying for leetcode? Did you study algorithms before that?
Just wondering how hard it would be for someone who never got a compsci degree and knows nothing about algorithms.
N > F = G > Apple > Amazon in terms of hiring difficulty, from my impression.
Until recently, their pay was also not as competitive and they had massive turnover rates.
My first job was at Amazon. Am I doomed for failure if I can’t even get a job at Google? I attempted suicide due to these micro aggressions by Google elites.
Your account name leads me to believe you've been impacted by this, and I feel for you. I am sorry. I hope you're able to find a new gig relatively stress free and find yourself in a better place.
I hope Parent gets the help they need. I am thankful I cannot imagine a world where... Google's "elite" engineers impacted my world in such a drastic manner.
Good luck to you friend.
You need to make a plan to find your next position, instead of looking for things on the internet to get offended by.
Now they are a bit more bimodal, but they do not necessarily have the highest (certainly they do not beat netflix).
This is only for MS as a whole though, many of the subsidiaries (LinkedIn, Github) have a harder interview circuit.
Snap > G > F > Amzn > Apple = Stripe = Twitter = …
Amazon > Stripe surprises me though
No? You can actually use code to solve problems. Don’t buy into the defeatism surrounding leetcode interviews.
Memorizing the common problems gives you a big leg up on being able to successfully pass an interview.
They don’t want thinkers who re-invent the wheel?
What you do need to memorize are a small group of algorithmic designs and have a good sense of when to apply each one. The main ones include divide and conquer, greedy, graph, and what seems to be the hardest of them all, dynamic programming algorithms.
It's disappointing that so few developers know these or are comfortable with these designs since employing them provides significant speedups to what would otherwise involve deeply nested loops or other naive brute force solutions. Becoming familiar with the broad set of algorithm designs is something most competent developers should invest some time in, and it's not like it requires years and years to become good at it but the benefits are enormous.
I agree it’s probably mostly memorized as an answer today, but I don’t think it’s fundamentally a bad question.
Is the problem with leetcode the content or the process? The process is utterly broken, but any time hiring comes up it feels like most complaints are about the content.
There's the group of people for whom doing these "Algos I" problems in university was relatively painless; not that all problems were "easy" but there's an ease to approaching the problem, and with enough continuous effort the problem is solved. These people also tend to have good retention such that 10 years later, they just need to practice LC for a few weeks and they're back in top form, even if they've been building the easiest CRUD apps for years and not working their brains at all. I've seen this firsthand.
There's another group of people who, for whatever reason, are lacking the facilities to calmly and clearly approach these problems. Doing "Algos I" was a serious grind, and the Brain Toolbox for solving these problems falls apart quickly once the final has been taken. Even if doing relatively complex work at their jobs for years, when it's time to practice LC, it may take months to get anywhere near "top form".
Obviously everyone is on a spectrum between and beyond these two groups, and I fall closer to the latter.
Now add on the fact that there's a person watching you who is going to dictate whether you get a paycheck at all or a 20% boost in income. Or you're like me right now and you've been laid off. Now add on that you need to do it in 20 minutes, each minor mistake potentially becoming a devastating error if you don't catch it quickly.
I envy anyone who can just focus on the problem and remove all surrounding context. Still trying to figure out how I can add stress distractions while timing myself.
This is indeed a good thing to be able to do. I'm pretty good at it, but when I'm in an interview situation, I almost always have at least one moment where I start to panic a little and have to tell myself, "you know what you're doing, just relax and turn the crank." And of course, there's an implied "...but maybe you'll just choke," which I have to put out of my mind.
In other words, a huge part of being able to focus on the problem and remove the surrounding context is a sort of confidence that I can probably do fine, so I can temporarily stop worrying about how I'm looking at any exact moment.
There are much worse ones on leetcode, and people expecting you to get the optimal solution are absurd. I fully expect to fail those unless I'm lucky. I don't study leetcode problems, because my interview approach is to first and foremost, implement a naive (aka slow) but correct solution in the time allotted, then engage in a conversation about ideas for improving it (not a rewrite). This has worked for me for decades, and it's also what I expect of people I'm interviewing.
This type of approach allows the interviewee to demonstrate that 1) they can write basic code, 2) they can solve a problem, 3) they can critique their own code and discuss perf implications, 4) they can think of ways to improve it even if they don't necessarily have time for a rewrite, and it allows the interviewer to demonstrate that they aren't a dick who's just playing "I'm smarter than you because I'm in the advantaged position."
They want you to work pretty fast and you only have about 20 minutes to solve one problem at most companies, no way I could work my way through something completely new that quickly.
I mean that's a big part of what makes it so easy. Near zero "culture fit" or anything random you just need to solve easy problems.
"are you willing to work nights and weekends on a moments notice no matter what?"
I thought the point was to actually learn the theory behind the question so memorizing isn't necessary? Like for dp questions for example: it's easier to do them if you just visualize the dag
The whole "memorize every question" shtick is the wrong way imo. Just seems very time inefficient to me
https://insights.dice.com/2017/08/22/tech-jobs-last-2-years-...
That means they need a huge candidate pool, since most won't make it through interviews, and most of those who do won't accept their offer since they can get better offers from other companies.
I have never seen or witnessed micromanaging, the holiday system is the best I have seen. Keep in mind I was a fully virtual employee, maybe things are different in office.
I know I can go back there if I like and enter at a level where I get stock compensation right away with a solid salary.
If you collect plenty of accolodates and maybe get a badge or two, they will never forget you.
I think they habe a very good screening process and a pretty good sense for hiring the right people at any level(the requirements are rather high for the salary).
The reason why they like to re hire people is often the immense onboarding cost, anything level 3 and up requires quite some learning and training time before you can even think of being productive. If I was hiring, there is no way I would hire a level 5 from outside amazon if I could give that role to an experienced level 4 employee. All teams are pretty huge, think of lets say 10 head team, within the first six months, they will habe 2-3 months of training and upskilling, and really, you have to habe that training to do things like vcs, vat etc, as you will at least have to have some fba skills for that role.
If Amazon is letting people go, it must be pretty bad, usually they are not cheap about redundancy, theu are wise enough to be ready for spikes in business. Not sure what has happened there and I strictly speak for office jobs in europe, everything else , I do not know. The whole thing is quasi subsidised by aws and this comes bit as a surprise to me.
I prefer bit more risky endeavours and chose amazon whenever my risk apetite has decreased.
Amazon is a rather solid employee if you perform, just be on time and have good adherence time, as a company with a million employees, this is understandable. It is also much less chaotic than you would imagine from such a giant corporate entity.
If they need you for programming, aws sales, language skills and tax matters, you will be doing fine there. On tax matters or newly established teams, the next level is always in sight and within reach. I hope the severance packages will be fair. I struggle to understand the bad rep for amazon seen online, working for musk or google is many times worse. Facebook used to be pretty good from what I hear.
Maybe its all individual perception and a bit of luck or misfortune.
As for the screenings, yes, they do, but they do not care about memorized things, they try to care and see how you start to deal with an issue.
They look completely insane, recruit anyone with a keyboard and might even pay well.
IMO they’ve been harder than the others because the process is so automated that you either pass or fail on the code test. There’s no tech interviewer to give you a hint unless they changed that recently.
You don’t get to show off your leadership or any other skills this way. You either memorized the solution to the random leetcode problem you get or you fail as far as I understand it.