Really hard to say anything specific here without a lot of detail on the interviews, and what was asked (and, that should not be posted here). Often interviewers ask questions about areas you have not had experience in, or questions that your skills level and experience don't suggest you will be able to answer, to observe how you respond when you don't know the answer.
My own choice, when presented with a question that I don't have a clue about, and cannot find a clue about after asking reasonable questions of the interviewer, and getting some clarification, is just to say that I don't know, while, at the same time, possibly describing how I would go about finding how to answer the question.
Sometimes a little indication of enthusiasm for learning can go a long way; when asked about something you don't know about, you could ask if this was something you'd have the opportunity to learn on-the-job at the company. But, too much of that, could result in your coming across as somewhat dishonest, and too "eager."
I would also try, without appearing defensive, to turn the interview towards topic areas I did have skills and experience in, and felt confident I could present with clarity.
There's a kind of "sticky" aspect to all this: if you are assertive in an interview, like, for example, you make it clear that the interviewer questions are not that relevant to the position you are applying for, you risk being perceived as, perhaps, arrogant, or inflexible; on the other hand, if you just accept anything they throw at you you may risk being seen as "over compliant," or even "intellectually weak."
How to dance depends on the music that's playing ?
You may have come up against a "hard fact" that expectations for entry-level positions in the U.S. are at a very high level, compared with the country you have emigrated from. But, that's not really something I think is "a fact," based on what you have told us, here.
If you are trying to get hired at the top-tier software companies, like Google, Adobe, etc., I would expect the interviews to be rigorous and challenging.
Good luck with your job-hunt !
There is no guaranteed way to pass any interview, the only way to improve your chances is to know your subject well, and apply for jobs that fit your experience and knowledge.
Interviewers do not work from internet scripts or videos: they can ask anything they like (within legal limits regarding employment legislation).
You say you are a developer with 8 years experience: so apply for jobs within that experience and you should be fine - but nothing will make you pass a "proper" interview without knowing your subject. And if it did, unemployment would beckon quickly once it was clear you couldn't do the actual job!
Forget "interview sheets", "interview questions", "interview answers" - they are all rubbish. At best they get you to a follow up question that isn't on the sheet and makes you look like a total idiot...
[edit]typo: "weeks" for "years" :O[/edit]
Updated 7-May-16 2:24am
v2
As OriginalGriff said, nobody can guaranty success on interview.
The most you are skilled, the better you have chances to pass interview.
If the company have very hard questions, you can be sure of a few things:
- They have more than 1 set of questions. For each interview, they can even pick questions in a big set so there is not 2 times the same interview.
- If they have different jobs with same title, they have a set of question per job.
- They have new questions on a regular basis as techniques and jobs changes.
Said otherwise, there is no magic pdf pr link or video, they are just examples of question from some company, there is no guaranty that your company use these questions.
There is a problem your statement of "I am a very good developer with 8 years experience". It doesn't mean anything. Your focus was on writing code for 8 years, but not on what you have been working on for those 8 years. For all anyone knows you could have spent those years writing Console.WriteLine("Hello World!");
. Sure you've been writing code for 8 years but THAT doesn't mean you're a good developer.
Your focus should be on what you've been working on, not how long you've been working on it. As you've found out, YOU may think you're a good developer, but that doesn't mean the people sitting across from you do. You have to keep the focus on what your skills are, not how long you've been doing it.