In the first round, it was mainly self-introduction to the managers. I was asked to introduce the projects I had worked on, and the managers also asked questions related to those projects. During this stage, they also introduced the department’s responsibilities. One special part about Garmin is that they conduct a simple English test, since the role requires communication with colleagues overseas. As long as you prepare an English self-introduction in advance or feel confident holding a casual conversation in English, it should be fine.
In the second round, the focus was on technical questions. There was a written test covering Java, OOP, and SQL. Since it was taken online, there was no screen recording, so whether or not you looked up references was basically on the honor system. After submitting the test and taking a short break, the interview with the managers started. They went through the test paper question by question and asked me to explain my answers to prevent cheating. After that came the coding questions. I was given a problem related to sorting, which caught me a bit off guard since I usually just use the built-in sort() function (haha). I managed to write something, but later realized I actually made some mistakes. In addition to the coding question, there was also a system design–type question: I was given a scenario and asked to design the corresponding classes and methods. I found this part more challenging, unless you’ve specifically practiced system design beforehand. Finally, I had a chat with HR for about an hour, which mainly covered behavioral questions and HR-related professional topics.
In the third round, it was with the senior executives. The focus was more on whether I had any questions about the company. I had a good conversation with the manager about Garmin’s products and the company’s background, and I even asked a lighthearted question about how to choose between an Apple Watch and a Garmin watch (XD).