اقتباسجوجل تستعد لافتتاح مركز إقليمي في المنطقة العربية
أفادت Google أنها بصدد افتتاح مركز إقليمي في المنطقة العربية للمرة الأولى بهدف تطوير مشروعات لخدمة المنطقة تنبع من
فكر و تنفيذ أبناء المنطقة ممن يملكون الفكر المتميز و المواهب الفريدة كما سيعمل هذا المركز الإقليمي المنتظر على التأثير في خلق
تجربة أفضل لمستخدمي خدمات Google المختلفة في كل مكان.
و في هذا الإطار أفادت الشركة كذلك أنها قد فتحت باب التقدم لشغل أماكن في فريق العمل القادم الذي سيعمل في هذا المركز الإقليمي.
المناصب المتاحة في الوقت الحالي هي:
Software Engineer و Tech Lead Manager و يمكن التقدم لشغل هذة الأماكن مباشرة :
http://www.google.com/support/jobs/bin/ans...py?answer=96739
و هذه قائمة بالوظائف المطلوبه : http://www.google.com/support/jobs/bin/sta...ddlocationsemea
على اثر هذا الخبر قدمت الـ CV الخاصه بي (أوائل رمضان) و بعد تقريباً باسبوع وصلني ايميل من جوجل ,, يسألوني اذا كنت مهتم بالموضوع او لأ ؟
أجبتهم بالتأكيد ,, وطلبو مني تحديد الوقت المناسب لاجراء مقابله ,, و بالفعل كان يوم الجمعه اللي بعد العيد هو يوم المقابله !!
طبعاً مقابله هاتفيه مدتها 45 دقيقه ,, أسئلة تكنكال علمية بحته ,,
لا أخفيكم انصدمت من هذه الأسئله ,, ربما لان طبيعه عملي الحالي كـ Business Analyst جعلتني ابتعد عن التكنكال بعض الشيء !!
بدأت المقابله بدردشه خفيفه عن دراستي الجامعيه ومشروع التخرج ,, لحد الان الموضوع تمام ,,
بعد هيك بلش الجد ,, طبعاً يتم انشاء صفحه على Google document لتتمكن من كتابه الكودات التي تطلب منك ,,
كانت اسئلته متنوعه ,, اكثر اشي بركزو على الخوارزميات algorithms و طرق البحث و طرق الترتيب ,, Searching & Sorting
طبعاً لازم تكون عارف كود كل منها و عارف ايضاً كيف تحسب الـ Complexity و big-O
مع اني حسيت حالي انلخمت :blink: ,, لانه هاي الاشياء كنت مفكر اني نسيتها مجرد ما تخرجت من الجامعه ,, بس الحمدلله قدرت اجاوبها كويس
خاصه لما سألني عن الـ Binary Search ,, استرسلت وانا اجاوب :P ,, بينتلو اني فاهم :happy:
واللي ساعدني كمان لغتي الانجليزيه ,, الحمدلله كنت افهم عليه شو بحكي مع انه كان يحكي بسرعه (طبعاً هو سويسري)
و كان يعطيني اسئله كود خفيفه اجاوبها ,, مثل list_1 & list_2 بدمجهم ببعض بـ list_3 بحذف المكرر و برتبهم تصاعدي
و احسب الـ Complexity الهم ,, حسيت حالي بدي اخبص ,, فحكيتلو الـ Procedures صح و شكلي خبصت شوي بالكود :S
بعدها سكت شوي و سألني ليش عملت مشروع تخرجك asp.net وليس php او تكنولوجيا اخرى ؟
قعدت الف و ادور و احكيله مزايا الـ .Net :wub:
انتهت المقابله الشاقه :( ,,,, وانا حسيت الامور نص نص بشكل عام
المهم ,, بعد حوالي اسبوع ,, وصلني ايميل منهم احضر نفسي لمقابلة ثانيه :wub: و كان الموعد الجمعه الماضيه 17\10
انا حكيت ببالي انه الامور صارت اسهل و افترضت انهم يسألوني عن الجوانب غير التكنكال مثل الأناليسز و الكواليتي و ادارة المشاريع ,,,,,
الا انه الوضع كان تكنكال مش بس كود ,, لا كمان OS & AI ,, صار يسألني عن الـ deadlock & interrupt والقصص هاي ,, انلخمت :S
سألني عن الـ SDLC و الـ hash table و جاوبتو ,,
سألني عن الـ linked list خبصت لو قلت ناسي احسن :( و سألني اشي عن الـ data compression ما عرفتو كمان
المهم ,, امبارح وصلني ايميل من جوجل ,,, Regret letter ,,,,,,, :(
برأيي اللي بده يقدم لجوجل لازم يوخذ اجازه شهر عشان يراجع كل مواد الجامعه :S
و الموضوع مالو خص بخبرتك ,, المهم معرفتك كـ Computer Science
هذا الايميل من جوجل وقت تحديد موعد المقابله الهاتفية الاولى :
اقتباسGoogle Phone Interview
The interview will be conducted entirely in English, and will last a
maximum of 45 minutes.
It will be a technical phone call, and you may be asked coding, algorithms,
and puzzle-solving types of questions. Also, take some time to look at our
website and familiarize yourself a bit with Google and its products.
Please remember that this interview is designed to assess what you DO know,
and not what you don't know! If you need to clarify anything with your
interviewer, he'll be happy to do so, so please don't hesitate to ask.
If you provided a mobile number, make sure there s good reception and ample
battery life.
IMPORTANT: Let me know as soon as possible if this time and date will work
well on your end, or if there is a better telephone number to reach you on,
so that I can finalize it on our corporate calendar.
Tips on how to prepare for a phone interview at Google:
The interviewers are keen to assess your ability to development original
software in a fairly short period of time.
Interview topics may cover anything on your CV (especially if you have
stated that you are an expert!), building and developing complex algorithms
and analysing their performance characteristics, logic problems, systems
design and fundamental computer science principles - hash tables, stacks,
arrays, datastructures, object-oriented programming skills, algorithms,
etc. and how they can be used in your solution.
For instance, he/she 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, analyse
the runtime of your code and then optimise your solution.
Software engineers at Google each handle all aspects of system
architecture, design, coding and testing, developing original software
products and applications with a global scale, without job hierarchy.
Therefore, computer science fundamentals are pre-requisite for all
engineering roles at Google, regardless of seniority, due to the
complexities and massive scale of the projects you would end up
participating in.
Tips on how to succeed:
At Google, we believe in collaboration and sharing ideas. Most importantly,
you'll need more information from the interviewer to analyse & 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!
What is Google looking for?:
"We are not simply looking for engineers to solve the problems they already
know the answers to; we are interested in engineers who can work out the
answers to questions they had not come across before."
Interviewers will be looking at the approach to questions as much as the
answer -
* Does the candidate listen carefully and comprehend the question?
* Are the correct questions asked before proceeding? (important!)
* Is brute force used to solve a problem? (not good!)
* Are things assumed without first checking? (not good!)
* Are hints heard and heeded?
* Is the candidate slow to comprehend / solve problems? (not good!)
* Does the candidate enjoy finding multiple solutions before choosing
the best one?
* Are new ideas and methods of tackling a problem sought?
* Is the candidate inventive and flexible in their solutions and open
to new ideas?
* Can questioning move up to more complex problem solving?
Google is keen to see really high quality, efficient, clear code without
typing mistakes. Because all engineers (at every level) collaborate
throughout the Google code base, with an efficient code review process, its
essential that every engineer works at the same high standard.
Ask more questions!:
Make sure you have a decent understanding of Google as a business - further
than Google's main products - find out about what we do here:
http://www.google.com/corporate/ OR: http://en.wikipedia.org/wiki/Google
At the end of the interview, most interviewers will ask you if you have any
questions about the company, work environment, their experience, etc. Its
clever to have some pre-prepared for each interview, but don't worry too
much if your mind goes blank.
If you have questions about the interview process, remuneration or your
performance, please direct these to your recruiter.
Interesting further reading:
The job specification: http://www.google.com/support/jobs/bin/ans...py?answer=96739
To understand how Google's development teams work -
http://en.wikipedia.org/wiki/Agile_development
To know more about Google's core projects -
http://labs.google.com/why-google.html
If you have not already read through Steve Yegge's technical prep tips,
please check out his blog -
http://steve-yegge.blogspot.com/2008/03/ge...-at-google.html
Due to the size of the products you'll be building, its imperative you're
comfortable with big O notation, here's where to brush up -
http://en.wikipedia.org/wiki/Big_o_notation
Technical Preparation tips!:
The main areas software engineers should prepare to succeed at interview at
Google:
Algorithm Complexity: You need to know Big-O. If you struggle with basic
big-O complexity analysis, then you are almost guaranteed not to get hired.
Sorting: Know how to sort. Don't do bubble-sort. You should know the
details of at least one n*log(n) sorting algorithm, preferably two (say,
quicksort and merge sort). Merge sort can be highly useful in situations
where quicksort is impractical, so take a look at it.
Hashtables: Arguably the single most important data structure known to
mankind. You absolutely should know how they work. Be able to implement one
using only arrays in your favorite language, in about the space of one
interview.
Trees: Know about trees; basic tree construction, traversal and
manipulation algorithms. Familiarise yourself with binary trees, n-ary
trees, and trie-trees. Be familiar with at least one type of balanced
binary tree, whether it's a red/black tree, a splay tree or an AVL tree,
and know how it's implemented. Understand tree traversal algorithms: BFS
and DFS, and know the difference between inorder, postorder and preorder.
Graphs: Graphs are really important at Google. There are 3 basic ways to
represent a graph in memory (objects and pointers, matrix, and adjacency
list); familiarize yourself with each representation and its pros & cons.
You should know the basic graph traversal algorithms: breadth-first search
and depth-first search. Know their computational complexity, their
tradeoffs, and how to implement them in real code. If you get a chance, try
to study up on fancier algorithms, such as Dijkstra and A*.
Other data structures: You should study up on as many other data
structures and algorithms as possible. You should especially know about the
most famous classes of NP-complete problems, such as traveling salesman and
the knapsack problem, and be able to recognize them when an interviewer
asks you them in disguise. Find out what NP-complete means.
Mathematics: Some interviewers ask basic discrete math questions. This is
more prevalent at Google than at other companies because we are surrounded
by counting problems, probability problems, and other Discrete Math 101
situations. Spend some time before the interview refreshing your memory on
(or teaching yourself) the essentials of combinatorics and probability. You
should be familiar with n-choose-k problems and their ilk – the more the
better.
Operating Systems: Know about processes, threads and concurrency issues.
Know about locks and mutexes and semaphores and monitors and how they work.
Know about deadlock and livelock and how to avoid them. Know what resources
a processes needs, and a thread needs, and how context switching works, and
how it's initiated by the operating system and underlying hardware. Know a
little about scheduling. The world is rapidly moving towards multi-core, so
know the fundamentals of "modern" concurrency constructs.
Coding: You should know at least one programming language really well, and
it should preferably be C++ or Java. C# is OK too, since it's pretty
similar to Java. You will be expected to write some code in at least some
of your interviews. You will be expected to know a fair amount of detail
about your favorite programming language.
To practice for your interview you may want to visit the website
www.topcoder.com If you launch the "Arena" widget and then go to the
practice rooms where you can play with the problems in the first/second
division as a warm up.
Also: http://projecteuler.net/ - these are some math-related programming
questions' vs topcoder, which tends to be more programming-oriented.
Play around with Google's APIs: http://code.google.com/
و هذا الايميل وصلني أول شيء
اقتباسcurrently specializing in recruiting engineers for our new ventures in the
Arab region. Although we haven't made a final decision on the location, it is likely it will be in Amman, Jordan.
Right now, I'm keen to find software engineers with passion for developing
original software products and applications, for the Arab market, but with
a global scale. We're keen to hire engineers who understand the marketplace
& culture - and what applications are needed. These are roles are based in
the Arab region, but matrixing engineering knowledge and experience from
throughout the world.
After seeing your resume we are interested in finding out (or confirming) a
couple more things about your interests and background.
Can you let me know if you would like to discuss this further - and if so,
please complete the questions below and forward them back to me?
1) University attended:
2) Name of degree and completion date:
3) Favourite programming languages:
4) The office location is still yet to be officially decided, but will likely be in Amman, Jordan.
Are you open to work in: (Yes or No)
Jordan:
Egypt:
5) Available to start at Google (approximate date):
6) Which (spoken) languages are you fluent in?:
7) Specific areas of interest (in Computer Science), ie what would you like
to be working on:
8) Why would you like to work at Google?
9) Availability for technical telephone interviews – please provide a few
days (for this and next week) and times when you would be available for a
45min technical interview with one of our software engineers:
Once I have received your answers I will route it to our review team.
Should they be interested in moving forward, I will be in contact to set up
your initial interview. You can take a look at the job description here:
http://www.google.com/support/jobs/bin/ans...py?answer=96739
Thank you for your time and I look forward to hearing back from you
shortly.




