I applied online. The process took 3 days. I interviewed at Project N (Taipei) in Jun 2021
Interview
There is one take-home test which is a coding challenge that assesses knowledge on machine learning and deep learning fundamentals. There would be two coding questions—one focused on deep learning and neural networks and another focused on data compression—and chose one that candidates would like to solve. Candidates only need to answer one of the questions. Each question is meant to be completed in 5 hours or less but candidates will be given two days to submit their output to allow for time zone differences or scheduling conflict.
Interview questions [1]
Question 1
1. The goal is to use a neural network as a kind of locally sensitive hash for images. You can use a dataset of your choice.
You will need to first divide the images into non overlapping rectangular blocks as shown below. You can choose the width and height of the blocks. The neural network will take just 1 block as input and output a hash. You can choose how many bits the hash should be.
2. Entropy coding (assigning shorter codes to more common data) is the last stage of most compression algorithms. It would be amazing if we could perform further compression on top of the output of the entropy coding. The problem is that the output of most entropy coding looks like random noise. Therefore, it usually can’t be compressed further. The only part that is not random is the length. The length in bits is actually -log(probability of the data). This equation tells us that the length is inversely related to the probability. Therefore, we get shorter codes for the more common data. The shannon source coding theorem tells us that this equation means it is optimal assuming the probabilities are correct.
Binary codes correspond to binary trees where each bit tells you which branch you take.