Assuming that you were not living under a rock for the past few years, you must know about the significant achievements in the area of Artificial Intelligence.
From self-driving cars to phones that unlock only to your face, personal assistants that recognize voice commands, all of this is possible due to the usage of different Artificial Intelligence techniques.
With all of this expansion, the job positions in this area skyrocketed in the last years as well. To be successful in a job position of the Artificial Intelligence area, you need to be good in some of this fields: data science, machine engineering, natural language processing, machine vision, as well as other areas such as software engineering, algorithms, data engineering and some other.
In this post, I want to share my experience with a job interview for a Data Scientist/Machine Learning Engineer position.
Now, before I start, I know that these positions are different from one another. But, I’m coming from a country where the Artificial Intelligence market is still very small, so the positions in the companies are usually a combination of a few scientific fields.
The position that we will take a look at was listed in the biggest and one of the best companies in my country. The position was a Data Science Internship for students with knowledge and interests in Computer Science and Data Science.
Being one of the companies with a big reputation, the interviews can be a bit complex, so the questions came from different areas.
Also, these are articles that you will very helpful:
- The Most Important Skills To Get an Engineering Job at Google and How to Gain Those Skills
- If You Have These Python Skills, You Will Get A Job As A Data Scientist and Machine Learning Engineer
- How To Write a Perfect CV for Every Data Scientist and Machine Learning Engineer
The Data Scientist Job Interview:
The job interview started by asking me, why I want to study this field, and why I want to that in the Internship in their company.
A good answer to this is first to complement the achievements of their company buy telling them what specific products you really like.
It is good to get familiar with their work because they can appreciate someone who recognizes the amount of work they’ve put into their products.
A good answer to the other part of the question is to tell them some specific things about the study of the field (for example, how can you use machine vision in creating a self-driving car).
The second question is usually about your studies. When you answer this one, it is good to tell them what kind of classes you’ve taken so far (or you are planning to take) and try to tell where can you apply the knowledge of these classes into the requirements of the job position.
The questions after this were pretty much a combination of many Information Technology areas but most of them were from Artificial Intelligence nature since the position was for a Data Science Intern.
They’ve explained that we would work on projects using Machine Vision, Deep Learning, and Reinforcement Learning. About the Machine Vision part, they’ve asked questions about some software packages and libraries.
I have used OpenCV, so I explained about this library and the techniques it can perform in order to get the job done. I’ve also made some applications regarding this part.
The application was pretty simple. It took some pictures with a text of a black background, it took the contours of the letters and using random forest classifiers it tried to classify them into 26 different classes (I was using only the capital letters).
Based on the classification, it created words. Successfully, it was classifying 23 letters, which was not bad considering the fact I build it for a few hours, and I was using only one classifier(Random Forest Classifier).
We will make a post for this application in the future so you can get some ideas, to make it work better or for your specific scenario. About the deep learning part, the questions were not very complicated. Most of them were of how the neural networks work.
There was a question of how forward and backpropagation works(which you can see in our post about Artificial Neural Networks), how can you reduce the degree of complexity of a neural network (by reducing the number of hidden layers), how can you stop it from overfitting (L1 and L2 regularization), why overfitting is bad (the neural network performs badly on a data set it hasn’t seen before).
The last question for this part was if I have used neural networks in projects. I have used them in a few projects, one is really interesting in particular using time series to predict the Wikipedia traffic (we will make a post for this project as well).
The part for Reinforcement learning was some simple and common question from this area, like what is it based on (Markov Decision Process), where can we use it (Multi-agent environments), what is Q-learning, and some of this stuff. There were questions from probability, like which distribution is used for what scenario.
The last part of the questions were about the Python language itself. For example, what are the data structures specific for Python (sets, tuples, dictionaries, lists), what is the difference between lists and tuples(lists are mutable and tuples are immutable), what are the best and worst time complexity scenarios for this structures and so on.
There were questions from this natures for binary trees as well. The last question was about, what are my expectations from this internship, what are my plans and visions for the future and would I want to continue to work for them if the internship ends on positive notes.
For this question, it is good to have an idea of what you really want in the future, and it is good if that thing, benefits more and more people.
Conclusion
This post is not your go-to for a Data Science job, it is just a version of what can you expect on a job interview like this one. Obviously bigger and more serious companies will maybe have some coding interviews for you, where they will test your abilities or real scenarios.
So the best thing to do is to get familiar with: the areas of science that the company is most engaged with, the company’s products, the most used techniques and algorithms of these areas.
It is good to be open about your level of skills. It is also important to have good theoretical knowledge about the most commonly used algorithms and data structures in general. All in all, the fields of Data Science and Machine learning are pretty challenging and not straightforward for everyone.
But the amount of information that you can get from any single thing with using the techniques of these fields is incredible. Using this information, you can create bases of knowledge that can be used for different areas, and make life easier. Like with every post we do, we encourage you to continue learning, trying, and creating.