Coding Interview Prep Document
Application Engineer, SAP
Time to Prepare!
Congratulations on making it to the next steps of the Google interview process!
As discussed, these will be two 45-minute interviews, done over Google Hangouts, preferably
back-to-back, with a member from our Application Engineering team. In order to best prepare for
these technical interviews, please review the information below and reach out to your Google
Staffing contact if you have any questions!
First however, If you have yet to do so, please make sure to send your interview availability to
your Staffing contact. We will need roughly about 10 different times that you would be available
to interview between Monday and Friday from 7am to 4pm PST.
Also, if you can please remember to fill out our Voluntary Self Identification form. This is a form
that we ask all candidates to fill out as part of our U.S. recruitment process. This form contains
questions that help us comply with our legal obligations and assists us with our diversity,
recruitment and retention efforts. While we ask all candidates to fill out the form, disclosure is
voluntary, and the information will be kept confidential in compliance with Google's Candidate
Privacy Policy. You can fill out the form by searching your inbox for an email with the subject, “A
Message from Google”. Click on the link provided in the body of the email to access the form. If
you are unable to locate the email, please let your Google Staffing contact know and they can
request for it to be resent.
Now, let’s talk prep!
First thing first, please make sure to be in front of a computer with the Google Doc open the
entire time! It is a live document and will be used for any kind of technical questions. Think of
this document as a virtual whiteboard - *please note* the interviewers want to see your true
syntax code as there will not be a compiler/ID available. This live doc is a shared space where
you and the interviewer can exchange ideas/questions/answers visually. The interviewer can
see where your cursor is, what you copy/paste, and you can make edits to what they are typing
and vice versa. Use the doc to show all your work. Please make sure to check that you are able
careers.google.com
to access/type in it at least 48 hours before the interview. If you are having problems, let your
Staffing contact or Recruiting Coordinator know!
● Please note that you will lose access to the doc after the interview.
In regards to the review and conversation surrounding your experience/resume. Focus on the
details and scope of the projects and responsibilities surrounding your work and how they have
evolved over the course of your career. We are interested in getting to know more about your
unique skills and accomplishments. Check out How We Hire, Life at Google, How to Prepare for
our Technical Interview, and Example of a Coding Interview. Additional preparation link(s): All
you need to know about the interview process at Google.
Most importantly - you’ve made it this far! This is a great achievement as GOOGLE seeks the
best talent in the world. Aside from your technical skills - the interviewers want to see your
energy, enthusiasm and passion shine through on your interview. We can’t emphasize this
enough!
DURING THE INTERVIEW
● Think out loud. We are interested in your analytical skills and thought process.
Sometimes we are more interested in how you come to a conclusion rather than the
answer itself.
● Organize your thoughts: Try not to leave too much silence when you are thinking. Let the
interviewer know what is going on in your head, but keep your communication clear.
● Presentation of your answers is key: Since people are subject matter experts in their
field, they often get too excited and throw out all of their knowledge about a topic.
● Focus Area: The Telephonic/GVC interview round would be focused mainly around
coding based questions for the entire duration of 45 minutes.
TIPS FOR GOOGLE INTERVIEW SUCCESS
● Be sure to ask clarifying questions and devise requirements. Many of the questions
asked in Google interviews may be open-ended. This is because our engineers are
interested to see how you engage the problem.
● Optimize the code and think about ways to improve the solution you'll present. In many
cases, the first answer that springs to mind may need some refining. It is worthwhile to
talk about your initial thoughts to a question, then take the time to compose a more
efficient solution. Also talk about how you would test the solution.
● Select an algorithm you know well and can explain thoughts. Then convert it to a
workable code (Don't worry about getting it perfect because by the time you know it, the
40 minutes will be up. Write what comes but then refine it later. (Be sure to consider
corner & edge cases)
● A site that you may find helpful in order to practice writing your code online (using this
careers.google.com
tool to practice may assist you in coding on a Google doc/whiteboard):
○ https://playground.abaplint.org/
EXAMPLE TOPIC AREAS
The topics listed below are examples and trends that have been seen in Google interviews.
Nothing in this list is guaranteed to be included in your interview, however the tips listed below
are intended to give you a broad idea of some topics that may surface. Please review in its
entirety as some topics carry on from the technical pre screen interview to onsite interviews.
Your technical background:
● Provide a clear and concise summary.
● Examples of solving general coding questions involving basic algorithms (sorting,
merging etc). Brute force is ok.
Various technology topics could include:
● Provide examples of programming and building customizations/extensions with a
language of your choice like ABAP, Java, Python etc.
● Provide examples of ERP product architectures and In Memory or Relational database
experience.
● Provide examples of working with new business processes and identifying the
requirements for each.
● Prepare for algorithm type questions (arrays, trees, char manipulation, linked lists, O(N)
analysis, etc.) and be able to do them in a timely and efficient manner.
● Practice programming in Java or any other OOP language on the whiteboard.
● SQL questions: This role requires knowledge of SQL(Open), such as grouping,
subqueries, ordering, etc.
Algorithms and Data Structures
● Big-O notation is also known as "the run time characteristic of an algorithm". You may
want to refresh hash tables, heaps, binary trees, linked lists, depth-first search, recursion.
For more information on Algorithms you can visit:
● *******Bigocheatsheet.com*******
http://www.topcoder.com/tc?module=Static&d1=tutorials&d2=alg_index
● 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, quick sort and merge sort). Merge
sort can be highly useful in situations where quick sort is impractical, so take a look at it.
● Hash Tables: 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.
careers.google.com
SAMPLE QUESTIONS
1. Given an internal table of positive and negative integers with at least one positive integer,
code to get the maximum possible positive sum.
2. Given a string as an input parameter to a program, write code to identify if the string is a
Palindrome or not. Sample input string ‘racecar’ or ‘redivider’.
3. Given 2 tables, a manager table and an employee table, query to get all Managers who have at
least one male & one female employee reporting to him.
Coding Practice
● We want to see how well you understand the problem statement and build a generic
solution to the given problem
● We expect you to know the basic coding syntax of the programming language in which
you choose to write the solution, as you are expected to work on a daily basis on the
same. Minor syntax errors will be ignored by the evaluator
● We expect you to come up with multiple solutions to the same problem. It is your choice
to decide which approach to follow and we expect you to explain the reason for your
choice to the interviewer
● The coding assessment is evaluated by experienced Googlers, who are aware of the
targeted coding language and will evaluate based upon coding standards, best practices
and solution design
Sample Algorithm Question
Write a code to identify if a string is a palindrome?
This is a general coding question. While interviewers will not specifically ask you to write
the code in “ABAP,” know that the coding questions we ask you is relevant to “ABAP”
coding and can be done if you know the fundamentals of coding.
Sample code:
PARAMETERS: p_input TYPE string.
DATA: lv_len TYPE i,
lv_len2 TYPE i,
careers.google.com
lv_counter TYPE i,
lv_index TYPE i.
lv_len = strlen( p_input ).
lv_len2 = len - 1.
DO lv_len TIMES.
IF p_input+index(1) = p_input+len2(1).
lv_counter = 1.
ELSE.
lv_counter = 0.
ENDIF.
lv_len2 = lv_len2 - 1.
lv_index = lv_index + 1.
ENDDO.
IF lv_counter = 1.
WRITE:/ 'String is a Palindrome'.
ELSE.
WRITE:/ 'String is not Palindrome'.
ENDIF.
Sample SQL Question
Given a ‘MOVIES’ table containing details like Name, Director , Year , Profit.
Write a SQL query to identify all Directors, who have directed movies in a year with
average profit of more than 100000.
Sample SQL Query
careers.google.com
SELECT director,
year
FROM movies
INTO TABLE @DATA(it_movies)
GROUP BY director , year
HAVING AVG( profit ) > 100000.
INTERVIEWING PITFALLS TO AVOID
● When candidates jump into design or coding without first analyzing the problem or
asking clarifying questions.
● When candidates don't talk out loud. Practice speaking out loud through your thought
process.
● When candidates don’t pick up on hints or when candidates give up on a problem. The
interviewer is NOT trying to trip you up, any hints suggested are intended to get you back
on track.
● Ensure you are able to program the solution you are suggesting. Avoid suggesting an
algorithm than being unable to produce the code.
● Try to avoid flipping between programming languages mid interview.
LAST FEW TIPS
● If you don't understand something, ask questions!
● Please keep in mind that everything on your resume is fair game for the interviewer to
inquire about. Understanding the trajectory of your career aids our interviewers in their
overall assessment.
● Think through and rationalize your answer. Always optimize!
● Ask clarifying questions before formulating a response! E xample: How many
passengers plan on taking this car on a daily basis? This impacts if I need 2 or 4 doors.
What kind of weather are you planning on driving the car in? This impacts if I need all
wheel drive or not.
● If you need to make an assumption, explain why you are making it in regards to your
solution.
● Let your personality shine! Show you are excited to possibly be a part of an innovative
and creative company. Read about some new cool things Google is doing and familiarize
yourself with our company culture and founders.
● You will have time for questions at the end of the interview. Prepare some beforehand.
Take advantage of this time to ask about Google, the team, or whatever you are curious
about.
careers.google.com
AFTERWARDS
Your Staffing partner will reach back out to you to discuss next steps as soon as they receive
the interview feedback. Please allow a few days after the interview date to expect feedback. We
will keep you updated if we experience latency issues for any reason. Please do not hesitate to
reach out to your Staffing partner with any additional questions/issues. We very much
appreciate the time and effort you have put into preparation and with your interest in Google.
Good luck!
Additional Resources
ABAP Recommend Books
Application Development on AS ABAP Programming Interviews
S/4HANA & Fiori Apps Exposed: Secrets to
Landing Your Next Job
SQL Practice John Mongan, Eric Giguere,
Noah Suojanen, Noah Kindler
SQL Exercises
John Wiley & Sons, 13.11.2012
SQL Exercises, Practice, Solution
Computer System
Data Structures & Algorithms Engineering
Fundamentals of Algorithms Robert Morris, Samuel
Madden
Data Structures
Mit Press, 2009
Programming Pearls
Jon Bentley
Pearson Education,
01.09.2000
Introduction to
Algorithms
Thomas H. Cormen
Mit Press, 2009
Cracking the Coding
Interview
Gayle Laakmann McDowell
careers.google.com