Google software engineer full time new grad

currently waiting for the update,

Status: New grad, BS EE
Position: General SDE full time new grad
Location: Cambridge, MA

Onsite (4 rounds):

  1. n-straight, see if a list is a valid n-straight list,
    e.g. 3-straight: [1, 2, 3] return True, [1,2,4] return false, [1,2,3,4] return false, [1,2,3,4,5,6] return true, cause it can be seen as [1,2,3] + [4,5,6]
    if n-straight is valid for at least n continous number.
  2. given a integer list ,[a, b, …] and coresponding char[‘x’,‘u’,…] means the number of different char, return every possible combination (unique)
    follow up: just return the number of different combination. and optimize.
  3. given a integer array, contain unique number, represent the velocity of the car in the road (the position in the array represent the possition in the road, and there is only one road), the fast car will be block by the slow car, return a array, each number represent the number of car in that group.
    e.g. [4,2,3,1] return [1,2,1] because 4 the is faster and no one can block it, but 3 will be block by 2, and previous cars are faster than 1, so 1 will not be in the same group with them.
    follow up, add a new car with a new speed into this array , return every possible answer.
  4. given two string. one has exactly one more letter than the other, find this letter, the input must be valid.
    e.g. s1:‘abbc’, s2:‘bcbad’ return d