News for hackers. Stuff that matters.
Re:Amazon software engineer interview by scaleout1 on Friday July 08, 2016 @11:17PM (#12059920)
This article makes me sad. Interviewing in our industry is so broken. I have been out of school for a while and switch jobs every few years and this is the technique I use to beat the bullshit interview process

. Make a list of companies that I would apply to and sort them from most interesting to no-way-in-hell-i-am-working-here order

. spend a weak reviewing typical algo/data structure questions

. For the companies that I absolutely want to work for, I review every single glassdoor review and write down the interview questions. Remember, most companies have question banks and most interviewers have favorite questions which results in same questions being asked over an over again. You want to exploit that

. Then to get over my interviewing jitters, I interview at a few companies where I would absolutely not work at. This results in no pressure interview practise and you can literally laugh at their asinine interview questions and walk out

. Finally, for the companies i actually want to work at, I try my best to get rid of phone screen. This is usually accomplished by dazzling them with my decent size github profile, contributing some fixes to their OSS project or finding someone who already works there that is in my alumni network

. Then when you finally arrive for the interview, you have real world interview practise, they are already impressed with your github profile/references and biased toward you versus some random joe off the street and you have made sure you have a pretty high probability of getting a question that you have already seen or is similar to a question you already know.

This technique has helped me get Jobs at top 5 employers in the valley along with a few startups. The reason I am posting this here is to demonstrate how broken, unfair and easy to game this whole process is

Re:Amazon software engineer interview by enraged_camel on Friday July 08, 2016 @11:24PM (#12059937)
>>Then to get over my interviewing jitters, I interview at a few companies where I would absolutely not work at. This results in no pressure interview practise and you can literally laugh at their asinine interview questions and walk out

This sounds very unethical and dishonest. It's the equivalent of a company interviewing a candidate they have zero intention of hiring, ever. Why waste people's time?

edit: not sure why I'm being downvoted. Am I wrong? How would you feel if you spent time preparing for an interview, did the interview and then found out the company didn't intend to hire you in the first place?

Re:Amazon software engineer interview by mavelikara on Saturday July 09, 2016 @12:30AM (#12060088)
You are right, this is not ideal - this is waste of time. Which is probably why the OP lead the comment with:

> This article makes me sad. Interviewing in our industry is so broken.

Yet:

> It's the equivalent of a company interviewing a candidate they have zero intention of hiring, ever.

If the company has one position to fill, and if they ever interview/contact more than one person for filling that position all the people who they contacted other than the person who got the job has wasted time, right?

In short, companies have only themselves to blame for this (sad) situation.

Re:Amazon software engineer interview by enraged_camel on Saturday July 09, 2016 @02:16PM (#12062575)
>>If the company has one position to fill, and if they ever interview/contact more than one person for filling that position all the people who they contacted other than the person who got the job has wasted time, right?

No, this is more like the company interviewing people when there are -- and will be -- no positions to fill. It's like a hiring manager going, "man, I really need some practice interviewing people, I should go post some jobs on job sites!"

Re:Amazon software engineer interview by adrenalinelol on Friday July 08, 2016 @11:56PM (#12060009)
Companies reject candidates (and thus waste their time) for extremely arbitrary reasons. I'd suspect you're being down-voted by those who feel they've suffered such.
Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @12:46AM (#12060145)
Studying algo/data structure questions is not gaming the system. I'd far prefer to hire someone who did this over someone who didn't prepare and just tried to wing it, then complained about how unfair it is to ask such questions.
Re:Amazon software engineer interview by f0under on Saturday July 09, 2016 @01:55AM (#12060313)
Why is that? Besides preparing for understanding the role, culture, etc why would you need someone to brush up on their algo knowledge for your job interview? Do you believe that algo prep would make them better at their job?
Re:Amazon software engineer interview by asQuirreL on Saturday July 09, 2016 @02:21AM (#12060367)
Perhaps the willingness to prepare indicates the candidate is motivated and the algorithmic knowledge they gain from it forms a solid basis and language in which it is possible to test their problem solving abilities?
Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @02:51AM (#12060456)
Right. I figure also that a candidate who'll do the homework necessary to prepare for the interview rather than winging it will be more likely to do the homework necessary for the real problems he'll face at work.

(I've known many engineers who wing things at work rather than spend the time to research a correct solution, and not just in software.)

Re:Amazon software engineer interview by tluyben2 on Saturday July 09, 2016 @04:30AM (#12060673)
Hi Walter, nice to see you again; another (similar to last time) interview process, another discussion here :) Not sure which country you are from, assuming US here; seems your experiences, again, vary wildly from what I see here. The refusal to study this useless stuff upfront had absolutely no baring on their 'refusal of whatever' on the workfloor or 'winging things at work'; employees should refuse things that are a waste of time in my company and they should explain why. If they do that with this 'pre-interview studying', I like them more than the ones who cram all to please the interviewer and show their willingness to do whatever they are told. I think that might be Dutch attitude though so not saying right or wrong here. I think, considering your previous responses that you mean it more subtly as well though.
Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @07:01AM (#12060925)
> absolutely no baring

That's not been my experience. I've seen a strong correlation.

> show their willingness to do whatever they are told

I don't think it's the same thing. I've told many of the people I've worked for that what they asked me to do was a waste of their resources. One told me "do it 'cuz I'm the boss and I say so" to which I replied "at the salary you're paying me, I feel obliged to tell you that what you're asking will never work". :-)

Nevertheless, if you know upfront that at a job interview you will be asked certain questions, and you choose to go to the job interview, it seems bizarre to not come prepared. Why bother?

Re:Amazon software engineer interview by tluyben2 on Saturday July 09, 2016 @07:12AM (#12060937)
> That's not been my experience. I've seen a strong correlation.

Like said, might be culture or maybe I have been lucky.

In my country (I haven't lived there for a while so might've changed but I don't think so) and my company we were not so salary obsessed, so 'at the salary you pay me' is a phrase used never in our office of few 100 colleagues. If you make 5 or 9 figures a year; if the boss tells me 'do it cuz i'm the boss' I'm not doing it if it's a stupid idea and I expect that from my colleagues even if I outrank them technically.

So still thinking it's culture as well; here you cannot fire people easily; you have to make a dossier (with obvious mistakes/flaws etc) and go to a judge and then pay them a few months. So there needs to be much more of a trust relation than master/slave relation imho. Note that we only needed that twice when the employees where watching/downloading pr0n all day. One was a junior designer and the other a phone support employee for our cms.

Edit: btw, i'm not saying I like that system per-se; in some countries (like Spain) it goes too far and you won't hire people because you can't fire them, but in NL I had no actively sabotaging people (you can't fire me so I do just enough); quite the opposite, while in Spain I meet too many of them.

Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @08:07AM (#12061048)
I don't know if it's a culture thing or not, but if I'm paid low I expect I am being paid to do what I'm told, but if I'm paid high I expect that I am being paid for my expertise, and that includes advising the boss. (It's not about being obsessed with salary.)

None of this should be construed as a master/slave relationship.

For an analogy, if I go to McDonald's I am not interested in the opinions of the cashier, I just want to pay the money and get the burger. If I'm going to an expensive restaurant, I'm interested in the opinions of the waiter about what to order - that's part of what I'm paying for.

Re:Amazon software engineer interview by WWLink on Saturday July 09, 2016 @04:05AM (#12060628)
I'm not doing homework if I'm not getting paid overtime. XD
Re:Amazon software engineer interview by mavelikara on Saturday July 09, 2016 @02:45AM (#12060444)
> why would you need someone to brush up on their algo knowledge for your job interview? Do you believe that algo prep would make them better at their job?

Ahem, Walter writes programing language compilers for industrial use. I strongly suspect that algo prep will make them better at their job if he was involved in the hiring :-)

Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @02:58AM (#12060478)
Actually, if you asked me cold about various algorithms, I'd probably bomb the answer. But that isn't a problem, as when I need to know some detail it's trivial to look it up. But if I'm going on an interview for a job I cared about, and I expected algorithm questions, I'd consider trolling up on that stuff to be required homework.
Re:Amazon software engineer interview by dozzie on Saturday July 09, 2016 @05:21AM (#12060762)
That's an approach I don't understand. If you would "bomb the answer", it means you don't understand and don't feel the algorithm behind. Merely "looking up some detail" doesn't help with that.

It's not like one can look some detail up when he doesn't remember the detail was even there. Good software programmer needs a large working set of such details to sensibly function in a professional setting.

Re:Amazon software engineer interview by WalterBright on Saturday July 09, 2016 @06:51AM (#12060912)
Being an educated person is not necessarily being a walking encyclopedia of detail. But it is knowing where to find the information needed at the moment. That's why there are reference books for professionals, like the CRC Handbook.

For another example, nobody knows every detail in the C++ Standard. But a professional is expected to know how to look up a detail in the Standard as required. That doesn't mean he doesn't understand the language.

Maybe you never need to look anything up. But I'm not that kind of person, and don't know anyone that is.

Re:Amazon software engineer interview by dozzie on Saturday July 09, 2016 @10:46AM (#12061436)
> Maybe you never need to look anything up.

It's not like that. I do need to check various things, and I daily run `man whatever' (I'm a sysadmin in large part). But even though I often don't remember what was the switch for e.g. `grep' or `find' or `awk', I wouldn't "bomb the question" about that. I would just substitute a sensibly sounding switch, explaining that I'm doing so (and why) and what the switch was supposed to do.

The same stands for algorithms, data structures, or program architecture (in other large part I'm a system programmer). I don't remember how AVL trees do inserts and deletes (frankly, I never learned that properly). I don't remember exactly how inserts and deletes work in B-trees. I never implemented my own hash table. But I still wouldn't "bomb the question" about any of those, because I understand how they work, and the details either can be worked out pretty quickly, or most often are not important for a particular question (unless, of course, the question was "how to insert an element into AVL tree"; then I can at least give high-level answer before calling for data structures handbook for lower-level work).

Heck, I don't even remember most of the cryptographic details. Every time I need to explain RSA or ElGamal encryption algorithms or Feistel net, I need to derive the formulas (I typically don't have any reference handy).

Re:Amazon software engineer interview by krolley on Monday July 11, 2016 @09:25AM (#12070842)
Not to mention the grandparent suggested showing them his GitHub profile and committing fixes to their open source repos. Uhh, yeah, I'd hire you too! Are we forgetting that most developers don't have GitHub profiles or aren't able to patch open source projects.
Re:Amazon software engineer interview by bonobo3000 on Saturday July 09, 2016 @12:41AM (#12060125)
Thats a great process. If you don't mind me asking, how do you get rid of the phone screen, even assuming you have some github and contacts? Just ask the recruiter?
Re:Amazon software engineer interview by scaleout1 on Saturday July 09, 2016 @01:25AM (#12060245)
the trick is not to go through the recruiter. Instead ask Committer on their OSS project or your internal contact to vouch for you to the hiring manager.
Re:Amazon software engineer interview by bitbreaker on Tuesday July 12, 2016 @06:02AM (#12077854)
I have exactly the same experience. In my case I took first interviews where I actually wanted to work and didn't pass them. I did interviews where I didn't want to work later on and passed those. Then used my FB offer to bump up offer at the place that I chose among those where I passed.
Re:Amazon software engineer interview by soham on Sunday July 10, 2016 @04:07AM (#12064908)
Thank you for sharing your method with us. It worked for you and should work for others. I'd however like to point out, certain assumptions baked into this, before anyone starts to follow it:

>>. Make a list of companies that I would apply to and sort them from most interesting to no-way-in-hell-i-am-working-here order

This is easy to do if you're in the valley/NY. Outside of the valley, people often don't know many companies besides G and F. Making such a list is a valuable exercise, but quite hard for many people, simply because of lack of knowledge and credible sources. It'd be useful to mention something like Wealthfront list here.

>>. spend a weak reviewing typical algo/data structure questions

There are SO many resources online, that it's very easy to get lost in the search of what's typical, especially if one hasn't interviewed in a few years. It'd be useful to mention to follow some introductory book/resource here.

>> . For the companies that I absolutely want to work for, I review every single glassdoor review and write down the interview questions. Remember, most companies have question banks and most interviewers have favorite questions which results in same questions being asked over an over again. You want to exploit that

For companies with shorter history, this is doable. For companies with longer history of this kind of interviewing, browsing through Glassdoor is very similar to dumpster diving. It's doable, but it's super easy to get discouraged quickly. Not to mention very often people paste questions very vaguely e.g. "got asked a Graphs question", or they paste code which is a nightmare to follow, even if you trust that it's correct.

In other words, note that this phase can take a lot of time to do well.

>>. Then to get over my interviewing jitters, I interview at a few companies where I would absolutely not work at. This results in no pressure interview practise and you can literally laugh at their asinine interview questions and walk out

Again, how does one get interviews at even those companies where they don't want to work at? Getting interviews is as much of a problem, as clearing them. Added to that, there is always this anxiety about rejecting those offers, because there is no guarantee of getting thru the ones you want to work at.

Additionally, when picking practice companies, it's important to pick ones that have a process with similar intensity as your favorite ones. That knowledge is often not mainstream.

>>. Finally, for the companies i actually want to work at, I try my best to get rid of phone screen. This is usually accomplished by dazzling them with my decent size github profile, contributing some fixes to their OSS project or finding someone who already works there that is in my alumni network .

Internal referral is definitely the best way. But majority of people don't have internal warm referrals at most places. Additionally, unless your technical reputation precedes you, most good companies are unlikely to give you a free pass on phone screens. It's extremely rare to have a dazzling Github profile enough to skip a phone screen.

>> Then when you finally arrive for the interview, you have real world interview practise, they are already impressed with your github profile/references and biased toward you versus some random joe off the street and you have made sure you have a pretty high probability of getting a question that you have already seen or is similar to a question you already know.

This again, assumes that everyone in the panel knows about your preceding reputation. And that one doesn't mess up even a single interview.

Overall - please don't get me wrong - this is great advice and much better than getting frustrated without it. What I want to point out, that the inherent fragility of the entire process is so high, that one should be careful pinning one's confidence on any particular strategy. The only thing in your hand, as a candidate, is to prepare and prepare well.