Posted by Admin on 4/15/2009 6:39 AM | Comments (0)

I’ve decided to write this post to say to everyone that nothing is impossible, and as a personal experience so anyone can benefit from it when needed,

before you read and get very excited, I didn’t  got the job :(

a while ago, Google was hiring people as junior software engineers for the Amman office that they were attending to open it (I don’t know if they established it or not yet) by accident I found about this and an email address to send a resume to (sadly I don’t remember where :( ), so I thought: “it’s a long shot but why the heck not??” so I sent the CV and totally forgot about it until after two or three weeks I received an email from Google recruiting office in Zurich asking me to put down a date and time so that they call me on phone!!! while I was reading the email I pinched myself three or four times just to make sure that was real!!

I replied to the email with the specific time for the call (which was after a week of the email) , and they did call me on exact time, the person who called me was the a human resource officer in Zurich (he talks fluent English, thank god!!), it’s best described as a human resource interview only nothing more or less, we talked about hobbies, travel, experience, gained knowledge and such, and we kept on for about 45 minutes and at the end of the talk he put down a date for the next interview(the technical one) and it was after the first by about ten days.

after two days he sent me what happens in the technical interview, here some of the tips he gave me:

Interview topics may cover anything on your CV, building and developing complex algorithms and analyzing their performance characteristics, logic problems, systems design and fundamental computer science principles.

For instance, the interviewer may set a deliberately ambiguous real-world problem and ask you to find solutions to it. You’ll need to interpret the coding knowledge that you have for that particular situation. They are looking for process of thought, creative solutions and being able to work out more than one way to solve a problem and talk through your rationale for choosing a certain way to approach solving the problem. So, you could perhaps recommend an algorithm, code up a solution using that algorithm, analyze the runtime of your code and then optimize your solution.

At Google, we believe in collaboration and sharing ideas. Most importantly, you’ll need more information from the interviewer to analyze & answer the question to its full extent.

  • Its OK to question your interviewer.
  • When asked to provide a solution, first define and framework the problem as you see it.
  • If you don’t understand - ask for help or clarification.
  • If you need to assume something - verbally check its a correct assumption!
  • Describe how you want to tackle solving each part of the question.
  • Always let your interviewer know what you are thinking as he/she will be as interested in your process of thought as  your solution. Also, if you’re stuck, they may provide hints if they know what you’re doing.
  • Finally, listen - don’t miss a hint if your interviewer is trying to assist you!

in the following ten days a spent my whole time just searching for what they need exactly for the job and the questions they ask usually, and I collected slides and previous exams from my friends & returned to study some university materials!.

the technical interview was at the same time as we agreed, the second interviewer was also fluent in English(again, thank god), He started asking about my major, what programming languages I know & which I like and why, some concepts in Data structures,software engineering, Algorithms,(from the way he asked and the questions, for the first time I felt our  study for such materials can be applied to the real word not in the books only) then he told me to get a pen a paper and start to solve a problem he gave me: which was: how to implement a stack in C++ with the ability to get the minimum value in the stack at a constant time, yeah I know it’s not that hard but one must be fast and precise on such question, fortunately I managed to solve it, then he started to review my solution step by step with each detail in my mind, from what I got from him is not that I only solved it and got the answer but the way I used and how a solved it and on what base,

the second question was a hard one:A stair of n steps and how many way one can walk it if he can skip one step, i.e. he can walk it with no skipping, skip the first step, the first & the third or the second and the fourth and the sixth, etc, when a heard this question I felt that it was a tricky one & said to myself: “He does not want me to count them, he wants me to give a way how to solved it”, suddenly it came up through my mind and said it with no hesitation: it’s a directed graph with no cycles in it and can be solved by graph rules!!  from his voice I almost seen him shocked how I got there!!! he said: “Great! now tell me how did you found this solution & what you know about graphs and their properties”, we continued our talk for about more than an hour and finally he said: “we will review your overall interviews and send you an email”.

after a week and a half I received the email telling me that in their words: “we don’t have a position that is a strong match with your qualifications at this time.

for me the interview itself was an experience to talk to these people and know how they think and work which gave me a boost for my career and work and that the material we studied in the university must be used in work and must not be forgotten.

later :)

Comments are closed