2020 Giftpack Frontend Engineer Internship Interview Experience

Ping Cheng
6 min readJan 12, 2020

--

Source: giftpack.io

My university department gives their students the opportunity to perform internship for an entire semester (in my case, between February and May) during their third year. For that reason, I started actively looking for companies that offer long-term internships since the end of summer 2019.

I was indeed very lucky to discover Giftpack as soon as they opened a long-term internship position on Cakeresume.

According to their job posting, here were the internship positions available:

  • Digital Marketing Giftern
  • Business Developer Giftern
  • Operation Giftern
  • UI / UX Designer Giftern
  • Frontend Engineer Giftern

They have offices located in New York (main office), San Francisco, Tokyo and Taipei. It is easier for me to work in Taiwan since I would not need to worry about visa or housing issues, and plus it is a great opportunity to go back home and spend some time with my family (and play with my cats).

The day after I submitted my application, I received an email from the CEO of Giftpack, Archer Chiang, congratulating me for passing the resume screening phase. Attached in the email was a handbook guide for the entire interview process, explaining each of the upcoming phases in a detailed manner. There are 6 phases in total:

  1. Resume Reviews
  2. Interest Talks
  3. Professional Screening
  4. Team Talk & Coffee Hours
  5. Acceptance or Rejection
  6. Welcome Party

Although it may seem like a long process, there are just basically 3 interviews in total, and I will talk about each of them later on.

It is noteworthy to mention that depending on the location you are applying, the language used for the interviews may change after Phase 4 (e.g. if you are applying for Tokyo office, then you must be comfortable in speaking Japanese).

Interest Talks

During this 45-min long phone call, you will briefly talk about your background, past experiences and projects that you have participated before, and later on Archer will ask some basic professional questions based on what role you are applying for. In my case, he asked some basic knowledge about the front-end technologies they use. Some of the questions include:

  • What is React? How does it work?
  • What is something you do not like about React?
  • What is Redux? Why would you need it?
  • Advantage of server-side rendering? Any experience using Next.js?

I know that he asked a couple more, but I really can’t remember the rest. If you have some experience in React and front-end development in general, it should not be too hard to be able to answer these questions.

Apart from front-end related questions, he also asked a couple of simple algorithm questions without actually writing any code, so you will only need to tell him how the solution should be like by explaining with words. Having the basic understanding of big-O notation and some experience in solving algorithmic problems will be sufficient to answer these questions.

I remember that one of the solutions required the use of the summation formula, which is something that probably every single kid in the world learned during their first few years of elementary schools. I simply could not remember it till he showed me 😂

The phone call was scheduled for 45 minutes, but in the end we talked for almost 2 hours. The atmosphere was really chill, we were just chatting and laughing most of the time. He was especially interested in my personal background, since I am a Taiwanese who was born in Saudi Arabia who lived in Belgium who is currently living in Turkey (that’s messed up, I know).

Despite the fact that we are both Taiwanese, we were both speaking in English during the whole interview (for the sake of fairness, I suppose).

Project Preperation

A while after the call ended, Archer sent an email with a list of different topics that I can choose to be the main theme for the next phase’s project. Again, this may be different depending on what role you are applying for, but in the case of frontend engineering they will assign a project that you will be presenting with a live demo to a couple of people at Giftpack.

Here’s a list of things that I was told to be included in my project:

  • Correct API Access
  • Data Visualization
  • Cool Data Insights
  • Next.js + Redux
  • SEO Meta Tags

A public data set API was given and is required to be used in the project. The data sets that I received had 10.8 million rows, and I did not believe it at first sight and even wrote an email to ask Archer if they knew and were sure about what they were giving. Turns out the API service provides extra parameters to query and filter the data, so it is totally up to you on what types of queries you can write to get the specific data you want.

The project initially was pretty challenging for me, because I never had any experience in data visualization or Next.js, so I had to read and dive deep into the documentations before I started and while developing.

I wanted to complete the project as fast as I could, since I was having a rough week dealing with university exams and projects as well as a cybersecurity hackathon (here is the project that got us the 2nd place, give a star if you liked the idea!)

I eventually completed the project in 2 days and immediately emailed Archer that I was ready for the project demo. (In fact, I did finish the project but did not prepare for the demo yet then, because I knew that it will take them some time to schedule the call 🙊)

Professional Screening: Project Demo

In the first 30 minutes you will talk about all the work you have done and how you have structured the project in detail, then in the last 15 minutes you will present the live demo.

I was first surprised (and a bit nervous) because there were about 6 or 7 people in the call listening at the same time. Not all of them had an engineering background, so I was worrying whether I would be going too technical.

I had prepared some notes next to me reminding me which aspects of the project I should mention and explain about. I first briefly talked about the idea of my project in overall, then afterwards mentioned about:

  • Tech stack (React, Redux, Chart.js, Ant Design, memoizee)
  • Third-party APIs
  • Page files
  • Chart Types (Bar, Doughnut, Polar, etc)
  • Extra Features (things that they did not specify to be added)
  • Project structure (_app.js, /services, /components, etc)
  • API Fetching & Queries (how I filter the 10.8M data)
  • Optimization (memoization, prevent excessive UI re-rendering)
  • Challenges (things I learned while building the project)

In the Q&A session after the demo, the people listening will ask some questions (not all necessarily regarding the project, some of them were pretty general questions). None of them are tricky or anything, just make sure that you know how everything you write works and you should be fine.

Team Talk & Coffee Hours

I waited around 6–7 days to hear back from them. The last interview is a brunch meeting, which you will have the chance to meet the people in the office in person and chat with them. Since I was still in Turkey, I just had a phone call with one of them online.

There is nothing to be worried about during this interview. It is just a friendly chat talking about your lives and the work culture at Giftpack. Even Archer himself said that the rejection rate of Phase 4 is only 1%, so as long as you behave like a human being you should be fine 🙆‍♂️

Acceptance or Rejection

So I eventually received the offer and accepted it right away. I really enjoyed the entire interview process, which is why I thought I should be sharing it.

Regarding the project that I built during Phase 4: I am not planning to share it here publicly, but if you are interested, feel free to send an email or contact me through LinkedIn.

--

--

Ping Cheng

Frontend Engineer @LINE, Next.js | React.js | Typescript fanatic