Applied November 2018 to a Software Engineering (University) role.
First round: Coding Challenge on Hackerrank. I think the question involved strings. Regardless, it was pretty easy, just a weed-out test to see if you actually know how to code at a basic level.
Second round: Technical Interview over the phone. Take turns with a recruiter implementing a class and its tests that parse a string and perform calculations on it. E.g, First turn interviewer would define a test to pass, then I would implement the functionality. Second turn I would define a test (to the recruiters specification) , and he would implement the functionality. Back-and-forth for a while. Overall pretty easy, and a good way of testing a candidate's ability to communicate and work alongside a team member. Lasted around an hour, with some time leftover to ask questions
Third round: Ah, the dreaded Django coding project I heard about from glassdoor. No, You don't have to implement an entire web server. They give you a pre-built Django server, and ask you to perform some tasks on it. Deadline is flexible, but preferably turn it in within a week. You don't need to know Django or Python for this step, but it does help to have some experience with Model-View-Controller web frameworks. If you don't have this experience, don't sweat it, It's not too complicated and easy to pickup.
First task is fixing up some bugs so the test will past. Some of the tests require other functions to be fixed, while some require the tests themselves to be fixed.
Second task is refactoring a two methods that use similar code. I choose to implement a third method for this, but in hindsight it might've been worth looking into modifying the class itself.
Third task is revising a feature to new specifications (I think it was modifying the stay length for sitters). Moderate difficulty, and there are a couple ways to go about it.
Fourth task is implementing a new feature. Most of the implementation is already there, not too hard of a task.
I maybe spent around 7-8 hours on it total, but it is easily doable within 3-4.
After submitting, I was informed a day after that they were moving on to other candidates. As I spent a good chunk of time on the project (and I thought I did pretty well!), I asked for feedback. No response! Somewhat frustrating, but I understand. I think my code wasn't as clean as they liked, but besides that I have no idea why I was rejected.
It's painfully obvious they are looking for people with experience in servers / web frameworks. Which is very... unusual to expect from University Undergrads. We aren't taught specific technology stacks, but rather concepts and general knowledge. Doesn't seem like a holistic way to run recruiting, but then again I'm just a slightly bitter Rover-hopeful!
For the other undergrads applying to rover, don't be surprised about being rejected. It says nothing about your skills, but rather they are looking for a VERY particular type of programmer, not necessarily the "best" type.