Photo by Alex Cheung / Unsplash

Synology Interview - Cloud Product Developer Intern

Tech Experiences Jun 17, 2022


Starting two weeks ago, I had been looking for internships for this summer.

I know starting this late is kinda dangerous, but I also made the decision to do a summer internship quite late.

My goal is to do an internship at a company that has some international reputation. Since lots of top universities now do not require GRE scores to be submitted, I decided to do an internship at a widely-known company instead of memorizing those boring vocabulary.

I initially submitted for positions at three companies, which are Intel, ViewSonic, and Sonar. However, one week goes by and none of them responded. Therefore, I decided to make my CV public on 104, exactly one week after my first submissions.

The next Monday, I immediately received several inquiries, and Synology caught my attention. It was a name I've seen before on r/selfhosted, which was the most recommended NAS brand for most individuals. Therefore, I quickly responded that I was interested.

To my surprise, I received a phone call from their HR within 30 minutes after my reply and scheduled an interview on Wednesday. And by the time I'm writing this article (Thursday), I'm already hired for the intern position!


There were two stages in this interview. One with their HR, and the other with two of their RDs.

Stage 1 - HR

Stage 1 was basically just chatting with their HR, but here are some questions she asked that I still remember.

HR: Briefly introduce yourself.

Here I responded with my name, which school I'm from, and my past tech experiences (which were mainly about Flutter, React, and Docker). In the end, I also briefly mentioned that I found out Synology from r/selfhosted through my self-hosting hobby, and I'm very excited in joining them.

HR: How did you overcome problems when you encounter one?

Since I am a heavy self learner, I just Google it off :)
Also, I was treated more like a full-time employee rather than an intern in my previous company, so I don't really "ask" my colleagues, but sometimes "discuss with them"

HR: What made you leave your previous company?

Despite being international company with around 200-500 employees, our Taipei office had only like 20-ish people. Therefore, we did not have strict development process like testing and code-reviews established, and it always felt awkward to me.

HR: Since you submitted your application late, what was the reason behind this?

I initially planned to study for GRE and TOEFL this summer. But since now many Universities in the US do not require GRE to be submitted anymore, I decided to do a summer intern instead.

HR: Since you studied for double-major in college, I suppose you didn't enter any clubs?

I entered piano club in NYCU, but since piano is more of an inactive thing, we didn't have those large events hosted. However, if we're speaking of events, I participated in several camps as a worker hosted by my department.

HR: Oh? What was your character in the event?

I think I'm the one who always provided interesting ideas. (Goes on to talk about what ideas I provided in the camps.)

HR: What if people didn't accept your ideas? What would you do?

I fight with them...... just kidding lol. I try to convince them and talk about my reasoning of these ideas and changes.

HR: Do you have any questions about Synology?

I would like to ask if there are development policies established.

Stage 2 - Two RDs

I'll not go into detailed answers of this one since they are somehow long.

RD: Briefly introduce yourself.

Same as above.

RD: You said you worked on React in your previous company. Have you ever done things that would improve the frontend performance of your work?

Since most of our data is processed in our backend, most of the overhead comes there. However, I remember using the useMemo() React hook that would prevent processing the same data multiple times.

RD: Since we both don't know about useMem(), briefly explain.

RD: How would you center a div with css?

Explains with flexbox and transform. I was then informed that I could also use Grid.

RD: What is the difference of a process and a thread?

I fucking failed this one because I'm bad, but yeah.

RD: How do processes communicate with each other?

RD: How do threads communicate with each other?

Failed these too :(

RD: What is a system call? Give examples of system calls.

RD: Is printf a system call?

- Coding Session -

RD: Write a function that when given a binary tree (root), it would return a list of postfix values.

RD: Try not to use recursion.

Failed this one too, fuck.

- At Last -

RD: Any questions?

Asked about the same question I asked HR.


I think I mostly did well in this interview, and the questions were obviously not to defeat you or whatsoever, but to understand how you work with problems. (I still dislike the fact of being asked to write algo questions tho.)

What I could've done better

  • Do leetcode more.
  • Strengthen my OS/DS base knowledge.
  • Improve my ability to code in front of others.

Anyway, as mentioned earlier, I've already been notified that I have passed the interview, and would be starting my internship this summer! So overall, I guess I could count this as a successful interview :)