Taro Logo

Senior Software Engineer Interview Experience

June 1, 2021
Neutral ExperienceNo Offer

Process

The standard first call is with a recruiter to learn more about the company and the role. The recruiter was a very nice guy.

Next, there is a technical screening call over Google Meet with one of the VPs of Engineering. If things go well here, you are invited to a virtual onsite. The virtual onsite is made up of three technical assessments, each taking one hour.

I think the engineering staff is a bit of a weird group, but in general, they are nice people.

A few things about this interview process were a bit all over the place. Seeing as this is a NodeJS shop, one of the technical exercises was designed with the assumption that the interviewee is experienced in JavaScript. However, the interviewer was flexible enough to change to a different problem once I explained how convoluted a solution to the original problem would be in Java.

As for the design part, the initial impression was that it was mostly about designing the object model. Then, all of a sudden, systems design questions came up. We started designing based on assumptions that were established in the beginning, but as we progressed, the interviewer began asking to consider things that were totally outside the scope of those assumptions.

I have yet to hear back from the recruiter, but I would definitely likely turn down the offer because this team would not be the right fit for me.

Questions

Q: For a given log file, count the number of ERROR statements for each minute.

Example input: 2013-03-01 12:00:00 [ERROR] ... 2013-03-01 12:00:01 [ERROR] ... 2013-03-01 12:00:01 [INFO] ... 2013-03-01 12:01:05 [ERROR] ... 2013-03-01 12:01:05 [WARN] ... 2013-03-01 12:03:02 [ERROR] ... 2013-03-01 12:00:02 [ERROR] ...

Example output: 2013-03-01 12:00 3 2013-03-01 12:01 1 2013-03-01 12:03 1

Q: Write a function that can take multiple functions as input, runs them from left to right, and passes the output of each function into the next function.

Q: Given a dollar amount, determine how many coins it can be broken into (i.e., quarters, dimes, nickels, and pennies that make up the full amount). Example input: $1.21 Example output: [0.25, 0.25, 0.25, 0.25, 0.1, 0.1, 0.01]

Q: Given a binary tree, print the path from the root to each leaf node.

Q: Design a parking lot that supports different types of vehicles, where spots are of different sizes. For example, regular spots can accommodate regular cars, but cannot accommodate a vehicle as large as a bus. However, a bus can take up as many regular spots as it needs to park.

Was this helpful?

Interview Statistics

The following metrics were computed from 10 interview experiences for the Gopuff Senior Software Engineer role in United States.

Success Rate

20%
Pass Rate

Gopuff's interview process for their Senior Software Engineer roles in the United States is very selective, failing most engineers who go through it.

Experience Rating

Positive30%
Neutral20%
Negative50%

Candidates reported having negative feelings for Gopuff's Senior Software Engineer interview process in United States.

Gopuff Work Experiences