Coding Interview Prep Document Application Engineer, SAP: Time To Prepare!

Download as pdf or txt
Download as pdf or txt
You are on page 1of 7

 

 
 

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 
 

You might also like