What I learned after going through a lot of interviews in companies and startups from the field of AI
- Transfer
Over the past eight months, I have been interviewed by a wide variety of companies - DeepMind at Google, the Wadhwani Institute of AI, Microsoft, Ola, Fractal Analytics and some others - mainly in the positions of Data Scientist, Software Engineer and Research Engineer. In the process, I was given the opportunity not only to talk with many talented people, but also to take a fresh look at myself with an understanding of what employers want to hear when they are talking with candidates. I think if I had this information before, I could have avoided many mistakes and prepared for interviews much better. This was the impetus for writing this article - perhaps it will help someone get a dream job.
In the end, if you are going to spend two-thirds of your time (if not more) at work, it should be worth it.
The idea of the article came to me during a conversation with one of the juniors that universities now do not offer truly interesting vacancies for specialists in the field of AI. In addition, during the preparation process, I began to notice that people often attract a very wide range of resources, although for most posts, as it turned out, you can get by with a small list (I will give it at the end of the post). I’ll start by telling you how to get noticed (you can get an invitation to an interview), then I will list companies and startups where you can try your luck, then I will describe how to impress the interview. In the next section, on the basis of my own experience, I will discuss which companies should strive to work for, and, finally, I will move on to a conclusion with a minimal list of resources needed for preparation.
Note: I would like to discuss two things for those who expect to get a job at the university. Firstly, with regard to job search, practically everything that I say here (except perhaps the last section) is irrelevant for your case. However - and this is the second thing I want to emphasize - as already mentioned, universities mainly take people to the positions of developers, without intersections with the field of AI. So this article is designed specifically for those who want to work with AI technologies and solve interesting problems with their help. It should also be added that not all interviews were successful for me, but, probably, this is the whole point of failures - it is best to learn from them! Perhaps not all the tips that I bring here will be useful to you, but I myself acted in this way - now you don’t know what else could be done,
To be honest, this step is the most important. It’s so difficult and tiring to look for work outside your university precisely because the recruiter must select and read yours from the pile of applications. Seriously simplifying the matter may be the presence of a contact person in the company who will recommend you. In the most general case, the task can be divided into three main steps:
Carry out training regularly and do not spare any effort on it. By regular actions I mean maintaining accounts on GitHub and LinkedIn , maintaining a website with a portfolio, and constantly updating the resume. To begin with, your resume should be neat and concise. Follow the guide from Udacity, Resume Revampto give it a more neat appearance. It contains everything that I was going to say - I myself resorted to their recommendations. If you need a template, Overleaf comes across some nice ready-made formats. Personally, I used deedy-resume . Here's what it looks like:
As you can see, one page can fit quite a lot. However, if you still do not have enough space, the format to which I referred above will not suit you in its original form. Better take a specially modified multi-page version of the same template here .
The next important point to be discussed is your GitHub account. Many people underestimate the potential of this site just because, unlike LinkedIn, you cannot find out who viewed your page. But people, in fact, completely log into your account - this is the only way to check whether what is written in your resume corresponds to reality: after all, now it’s customary to insert all kinds of buzzwordsand other white noise. In the field of data science, in particular, open source plays a particularly significant role - most of the tools, the implementation of various algorithms, and lists of useful resources for learning are presented in the public domain. I wrote about what benefits open source provides to developers in another article .
Here is the minimum you need to do:
We move on to the third step, which many people miss - creating a website for the portfolio, where the developer demonstrates his skills and personal projects. The presence of a website shows that you seriously intend to enter this area and represents you as a person who deserves trust. In addition, in the resume you are limited in the amount of text, so you have to release a lot of details. If you wish, you can use the portfolio to reveal everything as it should. It is also strongly recommended that you provide some kind of visualization or visual demonstration for the project / idea.
To make the site easier than ever - now there are many free platforms where the process is extremely painless and comes down to dragging and dropping ready-made elements. Personally, I used Weebly, a very popular tool. It does not hurt to take some kind of sample as a starting point. Smart enough sites now, but I settled on the personal page of Deshraj Yadav , to put it in the framework of work on his .
Finally, many recruiters and prospectors have recently started using LinkedIn as the primary platform for finding employees. There are many good jobs available. The activity on the resource is shown not only by recruiters, but also by people in high positions. If you manage to attract their attention, your chances of getting into the company will greatly increase. In addition, you need to keep your account in order and then that people had an incentive to contact you. The search engine is an important component of LinkedIn and in order to appear in the SERP you need to include relevant keywords in the profile. It took me a lot of attempts and adjustments to finally get an acceptable result. In addition, it is definitely worth asking your former colleagues or bosses to confirm your skills and leave a recommendation, telling about your experience in working with you. All this works at your chances of being noticed. Here I will again refer to Udacity and their LinkedIn and Github guides .
It may seem that I demand too much, but do not forget: you do not need to do all this in a day, a week or even a month. This is an ongoing process; it never ends. At first, you will have to invest a lot of energy in order to arrange everything properly, but then, regularly updating your accounts taking into account the latest events, you will not only get used to doing it without difficulty, but you can also tell about yourself wherever and whenever, without any preliminary preparation - it’s so good you will know yourself.
Stay true to yourself.I often have to see people who adapt to the requirements of the vacancy. In my opinion, it is better to first decide what you are interested in and what you want to do, and then look for relevant vacancies, and not vice versa. Now the demand for AI specialists exceeds supply, so you have such an opportunity. Thanks to the investment of time in the regular training mentioned above, you will have a more complete picture of yourself and it will be easier to make a decision. Moreover, you do not have to procure answers to personal questions that are asked at interviews. Most answers will come by themselves - just as reasoning on a topic that is not indifferent to you.
Networking.Now that you have completed everything from the first point and figured out the second, networking will help you get to the goal. If you don’t communicate with people, you will never hear about many opportunities that you could handle. It is very important to establish new connections day after day, if not face-to-face, then on LinkedIn, so that in the long run you will have an extensive and powerful dating network. Networking does not boil down to writing to people and asking you to recommend you to your employer. At the beginning of my search, I often made this mistake, until finally I came across a wonderful article by Mark Melun , which tells about the importance of establishing strong ties with people, offering them help first.
Another important step in networking is to put the content on public display. For example, if something works out well for you, write an article about it and drop the link on Facebook and on LinkedIn. It will be useful to other people, and to you. An extensive network of connections allows you to catch the eye of a lot more people. You never predict which of those who like or comment on your articles will help you reach an even wider audience, where there may be someone who is looking for a person with your set of skills.
I built the list in alphabetical order so as not to create the false impression of any special preferences. Nevertheless, I still noted with an asterisk those that I can personally recommend. These recommendations are based on the following: mission description, team, personal communication experience and development opportunities. If there are several stars, this is due to the second and third parameters.
Note: only those companies that I know of are listed here. If you know any more, please let me know, and I will add to the list.
A few more lists
The interview begins exactly at the moment when you enter the office, and a lot can happen between this moment and the invitation to tell about yourself. Of great importance is body language and whether you smile while greeting. This is especially true for startups, where they look very carefully whether the candidate will fit into the team’s culture. You need to understand: even if the person conducting the interview is completely unfamiliar to you, but you are also unfamiliar to him. So he may be as nervous as yours.
It’s important to take the interview as a dialogue between you and a company representative. Both of you are looking for a suitable option: you are looking for a cool place to work, and he is looking for a cool specialist (like you) with whom the team could work. Therefore, recharge yourself with self-confidence and take the responsibility to make the first moments of your dialogue pleasant for the interlocutor. Of all the ways I know of this, the simplest is smile.
Interviews, for the most part, are of two types. The first assumes that the interviewer will come with a ready-made list of questions and go on it, regardless of what you have in your dossier. Another type of interview is based on your resume. I will start with the second.
Such interviews usually begin with the question: “Could you tell us about yourself?” Here, in no case can you do two things: talk about your university certificate and begin to talk in detail about your projects. Ideally, your monologue should last a minute or two, give a general idea of what you have done so far, and not be tied to one study. Here you can also mention your hobbies - reading, sports, meditation - in a word, about everything that will help you better understand as a person. Then the interviewer will push off from something you said to ask the next question and go to the technical part. The purpose of such an interview is to check whether you wrote the truth in the resume.
There will be many questions about what could have been implemented differently in your projects and what would have happened if you had done not X, but U. Here it is important to know what trade-offs are usually taken when implementing. For example, if a company representative says that you should use another tool for more accurate results, you can tell him that you worked with a small amount of data and this would lead to retraining. At one of these interviews, they gave me a case that needed to be resolved and, in particular, to design an algorithm for a real situation. I noticed that when they give me a green light on the story about the project, it is better to adhere to a scheme that the interviewers like very much:
Another type of interview is aimed at testing your knowledge. You should not expect particularly abstruse questions, but be sure that they will cover all the basic areas that you should be familiar with: linear algebra, probability theory, statistics, optimization, machine learning and deep learning. The resources listed at the end of the article should be enough, but all of them must be read. The catch here is how long it will take you to answer. Since these are the most basic things, an instant reaction will be expected from you. Therefore, the preparation should be appropriate.
When answering questions, one should admit confidently and honestly when one does not know something. If you get a question about which you have no idea - just say so, instead of making sounds like "eeee" and "mmmm." If we are talking about some key concept, and you are at a loss to answer, as a rule, the interviewee will be happy to tell you or direct you to the necessary train of thought. If you can take advantage of this and come to the right decision, this will be a plus for you. Try not to be nervous - a smile can also help.
We are approaching the final part of the interview. At this point, you will be asked if you have any questions. Here it is easy to succumb to the thought that everything has already ended, and simply answer that you have no questions. I know a lot of people who were eliminated only for this mistake at the last stage. As I already said, not only you are evaluated at the interview. This is a mutual process: you yourself also see if the company suits you or not. Therefore, it is obvious that if you really want to join the team, you will have a lot of questions - about the work culture, about what role they play for you. Or maybe you’ll just be curious what the person who interviewed was doing. There is always something around that you can learn more about, so try to leave your interviewee feeling that you are really interested in to join their ranks. The last question I began to ask at all the interviews was feedback — what would they advise me to work on. It helped me a lot, I still remember what advice they gave me, and I tried to build my daily life with them in mind.
That's all. In my experience, if you talk honestly, competent about yourself, show deep interest in the company and demonstrate the right attitude, you will most likely satisfy all the requirements and have the right to soon expect a congratulatory letter.
We live in an era of opportunity, and this applies to what you enjoy doing. Just strive to become the best in your field and sooner or later you will find a way to monetize your skills. As Gary Vaynerchuk says (subscribe to it already): “Enough to agree to all sorts of crap that goes across your throat.”
Now is a great time for those who work with artificial intelligence, and if you really get excited about the topic, you can achieve a lot and give the right to vote to many of those who still have not had a chance to speak out. We grumble all the time about the problems that surround us, but now, for the first time in history, ordinary people like us can really change something, and not just complain. Quoting a famous saying by Jeffrey Hammerbacher (founder of Cloudera):
With the help of artificial intelligence, we can do much more than we can imagine. There are many extremely serious problems that require the work of very smart people. You can change the lives of a huge number of people for the better. Stop thinking that it’s “cool” or will “look good”. Think and make decisions wisely.
The list of questions for interviews in data science for the most part consists of the following four categories: computer science, mathematics, statistics, and machine learning.
Computer Science
Algorithms and Data Structures
OS
Object-oriented programming . You will be asked to tell how the system would be designed, for example, for booking train tickets. Accordingly, you will need to discuss what requirements are set, what classes will be needed, and which variables and methods each of them will contain, how heredity can be used (for example, the Engineer and Scientist classes can be derived from the same class as Employees). Such things are learned in practice. You can familiarize yourself with the basic terminology here .
Mathematics and statistics
If you are not familiar with the mathematical foundations of deep learning, I advise you to work out the resources from my last postto learn them. If you feel confident enough, I found that it’s enough to read Chapters 2, 3, and 4 from the Deep Learning Book to study or repeat all the necessary material for this type of interview. To some of the chapters, I compiled notes , where I tried to explain those concepts that I myself could not figure out for a long time - you can turn to them. Well, if you have completed a statistics course, then there should be no problems with answering questions in mathematics. From statistics it is worth working out these topics here - this should be enough.
Machine learning
Here the range of questions can vary significantly depending on what position you are applying for. To prepare for interviews in a traditional format, where your basic knowledge is tested, you can take either of these two courses:
The most important topics are teacher training (classification, regression, support method, decision tree, random forests, logistic regression, multi-layer perceptron, parameter estimation, Bayesian decision rule), teacherless learning (k-means method, Gaussian mixture models ), dimensionality reduction (principal component method).
If you are aiming for a more solid vacancy that requires more thorough preparation, it is likely that you will be examined in deep training. In this case, you need to be very familiar with convolutional neural networks and / or (depending on what you worked with before) recurrent neural networks and their variations. By good acquaintance I mean an understanding of the fundamental concepts of deep learning, how these networks work, what architecture was proposed for them, and what were the reasons for introducing such changes. Then walk up the hill will not work. Either you understand them, or invest time to understand it well. For the study of convolutional networks, I recommend the Stanford CS 231N course, and for recurrent networks - CS 224N. Neural Network Course fromHugo Larochelle also seemed to me very informative. To quickly refresh the main thing in your memory, take a look here . Udacity comes to the rescue here too. As you probably already guessed, Udacity is generally a good place for those who practice machine learning. There are not so many organizations that work with reinforcement training in India and I do not have enough experience in this area. So leave this topic for future additions to the article.
Finding work outside the university is a long way to self-knowledge. I understand that I have rolled up a huge post again and really appreciate the fact that someone is interested in my reasoning. I hope this article is useful for you on some side and will help you better prepare for your next interview in the field of data science. And for those whom I have already helped, I beg you to ponder what I say in the section "Which companies need to strive to work for."
In the end, if you are going to spend two-thirds of your time (if not more) at work, it should be worth it.
The idea of the article came to me during a conversation with one of the juniors that universities now do not offer truly interesting vacancies for specialists in the field of AI. In addition, during the preparation process, I began to notice that people often attract a very wide range of resources, although for most posts, as it turned out, you can get by with a small list (I will give it at the end of the post). I’ll start by telling you how to get noticed (you can get an invitation to an interview), then I will list companies and startups where you can try your luck, then I will describe how to impress the interview. In the next section, on the basis of my own experience, I will discuss which companies should strive to work for, and, finally, I will move on to a conclusion with a minimal list of resources needed for preparation.
Note: I would like to discuss two things for those who expect to get a job at the university. Firstly, with regard to job search, practically everything that I say here (except perhaps the last section) is irrelevant for your case. However - and this is the second thing I want to emphasize - as already mentioned, universities mainly take people to the positions of developers, without intersections with the field of AI. So this article is designed specifically for those who want to work with AI technologies and solve interesting problems with their help. It should also be added that not all interviews were successful for me, but, probably, this is the whole point of failures - it is best to learn from them! Perhaps not all the tips that I bring here will be useful to you, but I myself acted in this way - now you don’t know what else could be done,
How to get noticed: an invitation to an interview
To be honest, this step is the most important. It’s so difficult and tiring to look for work outside your university precisely because the recruiter must select and read yours from the pile of applications. Seriously simplifying the matter may be the presence of a contact person in the company who will recommend you. In the most general case, the task can be divided into three main steps:
Carry out training regularly and do not spare any effort on it. By regular actions I mean maintaining accounts on GitHub and LinkedIn , maintaining a website with a portfolio, and constantly updating the resume. To begin with, your resume should be neat and concise. Follow the guide from Udacity, Resume Revampto give it a more neat appearance. It contains everything that I was going to say - I myself resorted to their recommendations. If you need a template, Overleaf comes across some nice ready-made formats. Personally, I used deedy-resume . Here's what it looks like:
As you can see, one page can fit quite a lot. However, if you still do not have enough space, the format to which I referred above will not suit you in its original form. Better take a specially modified multi-page version of the same template here .
The next important point to be discussed is your GitHub account. Many people underestimate the potential of this site just because, unlike LinkedIn, you cannot find out who viewed your page. But people, in fact, completely log into your account - this is the only way to check whether what is written in your resume corresponds to reality: after all, now it’s customary to insert all kinds of buzzwordsand other white noise. In the field of data science, in particular, open source plays a particularly significant role - most of the tools, the implementation of various algorithms, and lists of useful resources for learning are presented in the public domain. I wrote about what benefits open source provides to developers in another article .
Here is the minimum you need to do:
- Create an account if you do not already have one
- Create a repository for each project in which you have been involved.
- Add documentation with clear instructions on how to work with code
- Add documentation for each of the files, where the role of all functions, the value of all parameters, the correct formatting (for example, PEP8 for Python) are mentioned , and also, as a bonus, a script that allows you to run it automatically.
We move on to the third step, which many people miss - creating a website for the portfolio, where the developer demonstrates his skills and personal projects. The presence of a website shows that you seriously intend to enter this area and represents you as a person who deserves trust. In addition, in the resume you are limited in the amount of text, so you have to release a lot of details. If you wish, you can use the portfolio to reveal everything as it should. It is also strongly recommended that you provide some kind of visualization or visual demonstration for the project / idea.
To make the site easier than ever - now there are many free platforms where the process is extremely painless and comes down to dragging and dropping ready-made elements. Personally, I used Weebly, a very popular tool. It does not hurt to take some kind of sample as a starting point. Smart enough sites now, but I settled on the personal page of Deshraj Yadav , to put it in the framework of work on his .
Finally, many recruiters and prospectors have recently started using LinkedIn as the primary platform for finding employees. There are many good jobs available. The activity on the resource is shown not only by recruiters, but also by people in high positions. If you manage to attract their attention, your chances of getting into the company will greatly increase. In addition, you need to keep your account in order and then that people had an incentive to contact you. The search engine is an important component of LinkedIn and in order to appear in the SERP you need to include relevant keywords in the profile. It took me a lot of attempts and adjustments to finally get an acceptable result. In addition, it is definitely worth asking your former colleagues or bosses to confirm your skills and leave a recommendation, telling about your experience in working with you. All this works at your chances of being noticed. Here I will again refer to Udacity and their LinkedIn and Github guides .
It may seem that I demand too much, but do not forget: you do not need to do all this in a day, a week or even a month. This is an ongoing process; it never ends. At first, you will have to invest a lot of energy in order to arrange everything properly, but then, regularly updating your accounts taking into account the latest events, you will not only get used to doing it without difficulty, but you can also tell about yourself wherever and whenever, without any preliminary preparation - it’s so good you will know yourself.
Stay true to yourself.I often have to see people who adapt to the requirements of the vacancy. In my opinion, it is better to first decide what you are interested in and what you want to do, and then look for relevant vacancies, and not vice versa. Now the demand for AI specialists exceeds supply, so you have such an opportunity. Thanks to the investment of time in the regular training mentioned above, you will have a more complete picture of yourself and it will be easier to make a decision. Moreover, you do not have to procure answers to personal questions that are asked at interviews. Most answers will come by themselves - just as reasoning on a topic that is not indifferent to you.
Networking.Now that you have completed everything from the first point and figured out the second, networking will help you get to the goal. If you don’t communicate with people, you will never hear about many opportunities that you could handle. It is very important to establish new connections day after day, if not face-to-face, then on LinkedIn, so that in the long run you will have an extensive and powerful dating network. Networking does not boil down to writing to people and asking you to recommend you to your employer. At the beginning of my search, I often made this mistake, until finally I came across a wonderful article by Mark Melun , which tells about the importance of establishing strong ties with people, offering them help first.
Another important step in networking is to put the content on public display. For example, if something works out well for you, write an article about it and drop the link on Facebook and on LinkedIn. It will be useful to other people, and to you. An extensive network of connections allows you to catch the eye of a lot more people. You never predict which of those who like or comment on your articles will help you reach an even wider audience, where there may be someone who is looking for a person with your set of skills.
List of companies and startups where you can send a resume
I built the list in alphabetical order so as not to create the false impression of any special preferences. Nevertheless, I still noted with an asterisk those that I can personally recommend. These recommendations are based on the following: mission description, team, personal communication experience and development opportunities. If there are several stars, this is due to the second and third parameters.
- Adobe research
- * AllinCall - (founded by a graduate of the Indian Institute of Technology Bombay)
- * Amazon
- Arya.ai
- * Element.ai
- * Facebook AI Research: AI Residency Program
- * Fractal Analytics (and subsidiary startups: Cuddle.ai, ** Qure.ai)
- ** Google (Brain / DeepMind / X): AI Residency program
- Goldman sachs
- Haptik.ai
- ** HyperVerge - founded by a graduate of the Indian Institute of Technology Madras, who is working on AI solutions for real-world problems with clients from various countries. The founders also included those who made up the famous computer vision group at the same institute.
- Ibm research
- * Intel AI labs (reinforcement training)
- ** Jasmine.ai - founded by a graduate of the Indian Institute of Technology Madras, who also received a degree from the University of Michigan. The team is working on conversational artificial intelligence. With financing, they are also in order. Now urgently looking for people to branch in Bangalore.
- JP Morgan
- * Microsoft Research: one or two year fellowship in an Indian laboratory or AI Residency program
- MuSigma
- Next education
- niki.ai
- * Niramai - The team used to be part of Xerox Research, now working on detecting breast cancer in its early stages using thermal imaging.
- Ola
- * OpenAI
- * PathAI
- Predible health
- Qualcomm
- * SalesForce
- Samsung Research
- * SigTuple
- * Suki is an AI-based voice assistant for doctors. Recently, it has also attracted a lot of investments and may soon open a branch in India.
- * Swayatt Robotics - working on unmanned vehicles for India.
- ** Wadhwani AI - Founded by billionaires Romesh Wadhwani and Sunil Wadhwani, they set themselves the goal of creating the first organization to strive to use AI technology for the public good.
- * Uber AI Labs & Advanced Technologies Group: AI Residency Program
- * Umbo CV - Computer Security Vision
- Uncanny vision
- Zendrive
Note: only those companies that I know of are listed here. If you know any more, please let me know, and I will add to the list.
A few more lists
How to pass an interview with brilliance
The interview begins exactly at the moment when you enter the office, and a lot can happen between this moment and the invitation to tell about yourself. Of great importance is body language and whether you smile while greeting. This is especially true for startups, where they look very carefully whether the candidate will fit into the team’s culture. You need to understand: even if the person conducting the interview is completely unfamiliar to you, but you are also unfamiliar to him. So he may be as nervous as yours.
It’s important to take the interview as a dialogue between you and a company representative. Both of you are looking for a suitable option: you are looking for a cool place to work, and he is looking for a cool specialist (like you) with whom the team could work. Therefore, recharge yourself with self-confidence and take the responsibility to make the first moments of your dialogue pleasant for the interlocutor. Of all the ways I know of this, the simplest is smile.
Interviews, for the most part, are of two types. The first assumes that the interviewer will come with a ready-made list of questions and go on it, regardless of what you have in your dossier. Another type of interview is based on your resume. I will start with the second.
Such interviews usually begin with the question: “Could you tell us about yourself?” Here, in no case can you do two things: talk about your university certificate and begin to talk in detail about your projects. Ideally, your monologue should last a minute or two, give a general idea of what you have done so far, and not be tied to one study. Here you can also mention your hobbies - reading, sports, meditation - in a word, about everything that will help you better understand as a person. Then the interviewer will push off from something you said to ask the next question and go to the technical part. The purpose of such an interview is to check whether you wrote the truth in the resume.
The person who really solved the problem will be able to illuminate it at different levels. He will be able to indicate the essence - otherwise he would not be able to finish the job. - Elon Musk
There will be many questions about what could have been implemented differently in your projects and what would have happened if you had done not X, but U. Here it is important to know what trade-offs are usually taken when implementing. For example, if a company representative says that you should use another tool for more accurate results, you can tell him that you worked with a small amount of data and this would lead to retraining. At one of these interviews, they gave me a case that needed to be resolved and, in particular, to design an algorithm for a real situation. I noticed that when they give me a green light on the story about the project, it is better to adhere to a scheme that the interviewers like very much:
Problem> 1-2 existing approaches> Our approach> Result> Conclusions
Another type of interview is aimed at testing your knowledge. You should not expect particularly abstruse questions, but be sure that they will cover all the basic areas that you should be familiar with: linear algebra, probability theory, statistics, optimization, machine learning and deep learning. The resources listed at the end of the article should be enough, but all of them must be read. The catch here is how long it will take you to answer. Since these are the most basic things, an instant reaction will be expected from you. Therefore, the preparation should be appropriate.
When answering questions, one should admit confidently and honestly when one does not know something. If you get a question about which you have no idea - just say so, instead of making sounds like "eeee" and "mmmm." If we are talking about some key concept, and you are at a loss to answer, as a rule, the interviewee will be happy to tell you or direct you to the necessary train of thought. If you can take advantage of this and come to the right decision, this will be a plus for you. Try not to be nervous - a smile can also help.
We are approaching the final part of the interview. At this point, you will be asked if you have any questions. Here it is easy to succumb to the thought that everything has already ended, and simply answer that you have no questions. I know a lot of people who were eliminated only for this mistake at the last stage. As I already said, not only you are evaluated at the interview. This is a mutual process: you yourself also see if the company suits you or not. Therefore, it is obvious that if you really want to join the team, you will have a lot of questions - about the work culture, about what role they play for you. Or maybe you’ll just be curious what the person who interviewed was doing. There is always something around that you can learn more about, so try to leave your interviewee feeling that you are really interested in to join their ranks. The last question I began to ask at all the interviews was feedback — what would they advise me to work on. It helped me a lot, I still remember what advice they gave me, and I tried to build my daily life with them in mind.
That's all. In my experience, if you talk honestly, competent about yourself, show deep interest in the company and demonstrate the right attitude, you will most likely satisfy all the requirements and have the right to soon expect a congratulatory letter.
What companies need to strive to work for?
We live in an era of opportunity, and this applies to what you enjoy doing. Just strive to become the best in your field and sooner or later you will find a way to monetize your skills. As Gary Vaynerchuk says (subscribe to it already): “Enough to agree to all sorts of crap that goes across your throat.”
Now is a great time for those who work with artificial intelligence, and if you really get excited about the topic, you can achieve a lot and give the right to vote to many of those who still have not had a chance to speak out. We grumble all the time about the problems that surround us, but now, for the first time in history, ordinary people like us can really change something, and not just complain. Quoting a famous saying by Jeffrey Hammerbacher (founder of Cloudera):
“The greatest minds of my generation are pondering how to get people to click on an ad banner. And that’s bad. ”
With the help of artificial intelligence, we can do much more than we can imagine. There are many extremely serious problems that require the work of very smart people. You can change the lives of a huge number of people for the better. Stop thinking that it’s “cool” or will “look good”. Think and make decisions wisely.
Minimum list of resources required for preparation
The list of questions for interviews in data science for the most part consists of the following four categories: computer science, mathematics, statistics, and machine learning.
Computer Science
Algorithms and Data Structures
- InterviewBit (practice)
- NPTEL IIT Delhi Lectures on YouTube (Conformity Theory)
OS
- 10 OS concepts developers should remember
- Chapters 3, 4, 5, and 7 from Operating System Concepts
- GeeksForGeeks about operating systems
Object-oriented programming . You will be asked to tell how the system would be designed, for example, for booking train tickets. Accordingly, you will need to discuss what requirements are set, what classes will be needed, and which variables and methods each of them will contain, how heredity can be used (for example, the Engineer and Scientist classes can be derived from the same class as Employees). Such things are learned in practice. You can familiarize yourself with the basic terminology here .
Mathematics and statistics
If you are not familiar with the mathematical foundations of deep learning, I advise you to work out the resources from my last postto learn them. If you feel confident enough, I found that it’s enough to read Chapters 2, 3, and 4 from the Deep Learning Book to study or repeat all the necessary material for this type of interview. To some of the chapters, I compiled notes , where I tried to explain those concepts that I myself could not figure out for a long time - you can turn to them. Well, if you have completed a statistics course, then there should be no problems with answering questions in mathematics. From statistics it is worth working out these topics here - this should be enough.
Machine learning
Here the range of questions can vary significantly depending on what position you are applying for. To prepare for interviews in a traditional format, where your basic knowledge is tested, you can take either of these two courses:
- Machine Learning by Andrew Ng - CS 229
- Machine Learning Course by Caltech Professor Yaser Abu-Mostafa
The most important topics are teacher training (classification, regression, support method, decision tree, random forests, logistic regression, multi-layer perceptron, parameter estimation, Bayesian decision rule), teacherless learning (k-means method, Gaussian mixture models ), dimensionality reduction (principal component method).
If you are aiming for a more solid vacancy that requires more thorough preparation, it is likely that you will be examined in deep training. In this case, you need to be very familiar with convolutional neural networks and / or (depending on what you worked with before) recurrent neural networks and their variations. By good acquaintance I mean an understanding of the fundamental concepts of deep learning, how these networks work, what architecture was proposed for them, and what were the reasons for introducing such changes. Then walk up the hill will not work. Either you understand them, or invest time to understand it well. For the study of convolutional networks, I recommend the Stanford CS 231N course, and for recurrent networks - CS 224N. Neural Network Course fromHugo Larochelle also seemed to me very informative. To quickly refresh the main thing in your memory, take a look here . Udacity comes to the rescue here too. As you probably already guessed, Udacity is generally a good place for those who practice machine learning. There are not so many organizations that work with reinforcement training in India and I do not have enough experience in this area. So leave this topic for future additions to the article.
Conclusion
Finding work outside the university is a long way to self-knowledge. I understand that I have rolled up a huge post again and really appreciate the fact that someone is interested in my reasoning. I hope this article is useful for you on some side and will help you better prepare for your next interview in the field of data science. And for those whom I have already helped, I beg you to ponder what I say in the section "Which companies need to strive to work for."