How to: Work at Google — Example Coding/Engineering Interview
Google represents one of the biggest hallmarks of the 21st century. On Google, you can find out literally anything, from music to books through jobs and into the latest blockbusters. We never really think of Google as anything other than an avenue to feed our brains.
However, have you ever wondered what goes on behind the scenes? Do you ever wonder who works to ensure that Wikipedia is updated every day? Do you ever ask yourself who this genius who keeps irritating us with adverts is?
For any software engineer and programmer, or basically anyone who knows how to code, Google is their candy store. As the rest of us dream about food and winning Oscars, these guys dream about how they will run codes for Google.
Now imagine if you, the engineer am talking about, get an interview with Google, how do you ensure that you convince the interviewers enough to make them give you the job?
The following are some tips that you should keep in mind while preparing for the interview:
- You should adequately prepare for the interview. As a software engineer or a person with experience in coding, when being interviewed, there are a couple of technical questions that you will be asked. Therefore, prepare by ensuring that you have mastered every programming language that you are familiar with, whether Java, Python, HTML or any other language.
- Allocate the time adequately during the interview. Chance are, you will be questioned on specific programming languages, and since you do not have the whole day, ensure that you allocate time adequately. Also, ensure that you allocate more time for an area that you are sure you are the best at.
- Update your knowledge on software and programming languages. This ensures that the interviewers don’t catch you off guard with a general question.
- Get a guide on the interviews done by Google. Google has a procedure they use during interviews. There is a video that you can find online that shows an example of the kind of questions and their answers asked during an interview by Google.
- Carry a resume. The resumes might be required by the interviewers as they interview you. Ensure that you have carried an appropriate number of copies of the resume. However tempting, do not lie in the resume as this makes you vulnerable to some questions.
- On the day before the interview, ensure that each and every one of your certificates are in order. Organize them in a particular order that you will remember so that if during the interview you are asked for any of the documents, you do not embarrass yourself.
- Pack any gadgets that you might require to make your case. Ensure that the gadget, whether your computer, iPad or tablet, is adequately charged. This reduces the chance of any inconvenience that you might encounter.
- Dress sharply, decently and in an outstanding way. First impressions have a great impact on the image that you will carry with your interviewers, and will ultimately decide whether you get the job.
- Arrive to the venue of the interview on or before time. By being punctual, you show your potential employers at Google that you are a reliable person who will ensure that he completes his work on time.
- As you walk into the room, ensure that your head is held high and your spine is straight. A confident gait might just be an added advantage to getting the job.
Now that you have adequately prepared for the interview and arrived at the location of the interview on time, there are a number of things that you have to keep in mind during the interview:
- This is a technical interview. This means that you might be required to answer a short test, do a presentation or show a sample of anything that you have coded.
- Answer the questions clearly and audibly. This ensures that your answer is concise.
- If given a chance to answer a question in a topic or programming language that you are good at, give it your all. Impress the interviewers enough to make them believe that there is no one better suited for that specific language.
During this interview with Google, there are a number of questions that you should expect. Examples are:
- Describe the most significant written technical report or presentation that you had to complete.
- What single technical skill or ability is your best asset? Prove it.
- What is your advice when a customer wants high performance, high usability and high security software?
- Can you name the responsibilities of the user, the customer and the developer in the process of programming?
- How do you manage conflicts in a web application when different people are editing the same data?
- Do you know about design patterns? Which design patterns have you used, and in what situations?
- What kinds of diagrams have you used in designing parts of an architecture, or a technical design?
- Can you name any differences between object-oriented design and component-based design?
- How do you make sure that your code can handle different kinds of error situations?
- What do you care about most when reviewing somebody else’s code?
- Can you describe the process you use for writing a piece of code, from requirements to delivery?
- In an array with integers between 1 and 1,000,000 one value is in the array twice. How do you determine which one?