Taro Logo

Software Engineer Interview Experience - Boston, Massachusetts

August 31, 2018
Negative ExperienceNo Offer

Process

Chewy's recruitment process is quite odd. I have never experienced such a process anywhere else.

It started off as a standard process: an HR call, a 10-minute online Java test, a technical phone screen by a software engineer, and then an onsite interview lasting about 2-3 hours. Now, you might think the interview process is over, but it is not.

During the onsite interview, software architects and VPs interviewed me. They did not interview me for any particular team. Once I had done well in the onsite, I had follow-up calls with team leads and engineers from several teams to see if I was a good fit. I felt this was really strange.

These were 30-minute calls, not too technical, where they judged if I was a good fit. If found to be a good fit, I would join a team without having met anyone in person.

I was not found to be a good fit after two calls with two different teams. The feedback was that I'm a great engineer but, at this point, they were looking for someone more senior. This is something they should have figured out in the initial tech screen.

I did not enjoy this process of giving phone screens after the onsite interview. I felt that I had performed well in the phone rounds, and it is frustrating to realize that I did not get the job because the teams didn't find me a good fit in a 30-minute call, despite clearing all previous rounds.

I know my onsite went well because the recruiter called me within two hours after the onsite to say the feedback was very positive, that they were excited about me, and that they thought I would be a good fit for a particular team and wanted me to talk to the team lead.

I am going to recollect and list out all the questions that were asked to me.

Chewy really needs to fix its interview process; it is quite flawed and will cause them to miss out on many good candidates.

Questions

HR Call

  1. Why are you looking to move and what are you looking for in your new role?
  2. Tell me about a time where you made a mistake and how did you handle it?

I had to give an online core Java test in HackerRank, which was timed for 10 minutes and consisted of 12 multiple-choice questions. Passing this round was a prerequisite for proceeding to the next.

Tech Phone Screen by Software Engineer

Basic Core Java Questions:

  • What is a class loader? Can you have more than one class loader?
  • Difference between Callable and Runnable?
  • Which data structure would you use to implement a contacts list, Linked List or an Array? Explain why and be prepared for follow-up questions based on your answer.
  • If a user complains that one of your API endpoints is slow, how would you go about analyzing the issue? Explain your thought process.
  • Difference between inner and outer join in SQL?

Onsite Interview

Core Java - What is a class loader? (This was asked again; they seem to favor this question).

Multithreading - Object lock and wait, reentrant locks, synchronization.

Spring Framework - Dependency Injection, Aspect-Oriented Programming (provide an example of when you've used one), different scopes, what is a bean class, session scope, difference between inversion of control and dependency injection.

Whiteboard - Write a method to insert a new node into a sorted linked list of integers such that the list remains sorted. The linked list can contain nodes with duplicate values. The catch is that all nodes have a final member variable for nextNode, so you cannot reassign existing nodes to the new node you insert. Therefore, you will have to copy all nodes that come before the new node you insert and then return a new head node.

General Tech Questions - One of the directors (Pharmacy team) asked me about OOP concepts. I listed Abstraction, Inheritance, Polymorphism, and Encapsulation. He laughed and said there are only three, as Encapsulation is the same as Abstraction. (Note: He believes they are the same and will likely react negatively if you state otherwise).

SQL - Difference between inner and outer joins, right join vs. left join, why do we need to index, and why don't we index all columns?

Data Structure - Why would anyone use TreeMap over HashMap when they don't care about ordering? (I really appreciated this question).

The answer is that when you store a large number of entries in a HashMap, collisions can occur, requiring constant resizing and rehashing of keys. This can lead to worse performance than a TreeMap (which uses O(log N) complexity).

Was this helpful?

Interview Statistics

The following metrics were computed from 16 interview experiences for the Chewy Software Engineer role in Boston, Massachusetts.

Success Rate

13%
Pass Rate

Chewy's interview process for their Software Engineer roles in Boston, Massachusetts is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive38%
Neutral6%
Negative56%

Candidates reported having negative feelings for Chewy's Software Engineer interview process in Boston, Massachusetts.

Chewy Work Experiences