Rapyuta Robotics

Thoughts on the interviews: First Interview: It went well. I think Melhi liked me a lot. He even offered to refer me to the embedded team (mechatronics team) since I was interviewing for the higher level team for the ASRS. But apparently, his team is the most interesting according to an intern I’ve been talking to on LinkedIn. Also, both interviews were scheduled pretty late my time EST (around 9-10 pm), so I was already pretty tired.

Questions asked:

  • What do you know about Rapyuta Robotics?
  • Introduce yourself.
  • Languages that you know and are most comfortable with.
  • Talk about your past work experiences (asked related questions)
  • Difficulties and challenges in embedded system
  • Questions about gdb, docker, ros
  • Name some new features introduced in C++17
  • Git related questions
  • Two very interesting questions to have an idea of how you think and approach a problem
    • You are in a boat with a heavy rock. you throw the rock off the boat and it sinks into the water. What happens to the water level?
    • How many cabs and uber drivers in Montreal, walk me through your reasoning and give an exact number

Second Interview: It went ok overall. I wasn’t able to get everything right, but I managed to get most of them. I got a little bit tired at the end, when he asked me to optimize my solution. He kept giving me hints, but I didn’t get the answer that he was looking for.

Questions asked:

  • You drop a golf ball from a five meters high, how would calculate how long it reaches ground. Give the exact time.
    • How would you simulate the height over time. Taking in account air friction.
  • You have a dice with six sides, roll the first dice once. The probability of getting 6 is 1/6. Now roll 2 dices with six sides, what is the probability of one dice being 6 and the other not being 6?
  • What is the A* Search Algorithm? → A-Star Algorithm
  • Explain what a Pointer is in C++.
  • How is allocating memory on the heap different from the stack?
  • What are smart pointers? And what problems do they solve?
  • What is the difference between unique_ptr and shared_ptr?
  • How do you transfer ownership of a unique_ptr?
  • Name 3 data structures in the C++ STL. And explain difference between them. Why use one over the other. In what circumstances.
  • What is the difference between unordered and map use case and implementation? C++
  • 2 coding questions

I did get offered the job. But sadly had to turn it down due to Waterloo Software Engineering not being flexible with switching streams.