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