View All num of num See all Photos Google www.google.com Engaged Employer Overview Reviews Salaries Interviews Jobs Photos Benefits 3.6k Reviews 12k Salaries 4.3k Interviews Follow Add Interview Follow Add Interview Interview Question Senior Software Engineer Interview Mountain View, CA Google The most difficult questions are about some particular algorithms or mathematical problems that interviewer is very familiar with but the candidate has never heard of. Not only it may create a stressful situation (candidate thinks that it is something he/she is supposed to know), it is not how the people solve new problems in IT. Many people may not be able to fully understand a particular mathematical (e.g. theoretical) theorem in a matter of 10-15 minutes and without good understanding of that particular theorem it may be hard to apply it to the real-life problem presented by the interviewer. For example, the question about finding the majority number in a large input sequence. Tags: See more , See less 8 Answer Add Tags Answer Interview Answer 3 Answers ▲ 5 ▼ http://stackoverflow.com/questions/3740371/finding-the-max-repeated-element-in-an-array Interview Candidate on Jan 16, 2013 ▲ 2 ▼ Apart from CLR and Skiena's algorithms book, I would recommend the folllowing books focussed on real coding interviews questions which contains great details(real questions with real answers as expected by the google/amazon interviewer): Top 10 coding interview problems asked in Google with solutions: Algorithmic Approach By Dr Lin Quan Elements of Programming Interviews: 300 Questions and Solutions By Adnan et al. Programming Pearls By Dr Bentley More Programming Pearls By Dr BentleyThese books helped me greatly in my Amazon's onsite interview recently.Practicing topcoders questions can be an additional help if it suits individual interest. Doug on Mar 23, 2013 ▲ 1 ▼ Honestly, I am personally against such a thing as "preparing for an interview". It may be good for a junior who has zero experience and is looking for the first job. I prefer the job where I can use the skills and experience I already have without having to do any "window dressing". And with each new job I learn new things.I did see the cases in the past where the interview was not about evaluating a candidate - it was about the interviewer trying to show off how cool he/she is comparing to the candidate and how is it cool that he is working at this company. Well, I was very happy that I was not offered the jobs i these cases :) There is plenty of good employers out there an many people who make very good colleagues.To me this is the only way I can be useful for the new employer.When I interview the candidates I do not care about the book they have read two days before the interview. I concentrate on their ability to solve the practical problems within the domain of expertise they are claiming. And I accept that we all all different - what can be obvious for me may not be obvious for others and vice versa. When the open job responsibilities do not match the profile of the candidate - there is no reason to waste his/her and my time. Nikolai on Mar 24, 2013 Interviews > Senior Software Engineer > Google Add Answers or Comments To comment on this, Sign In or Sign Up.