I can only speak from my experience with Amazon. I sent a resume in for a job at Lab126 since I'm an embedded guy with an EE background, no CS except 21 years doing embedded software. I never heard from Lab126, but the AWS team got back to me. After failing to pass all the test vectors of the coding test, they gave me a phone interview. I did OK at best. They flew me up for an interview and proceeded to ask me CS algorithm questions on a whiteboard for 6 hours. I didn't get the job(and probably would have turned it down otherwise, since it involved being on-call), but it surprised me that their screening process was so bad. Nowhere on my resume did I indicate having any knowledge of CS algorithms, yet it was seemingly vital for the role. Strangely enough, I did study up on virtualization implementations(KVM/Xen), but no one asked me a single question about that(despite it being listed as vital on the job description).