AI Residency Interviews at AMMI

Daniel Ajisafe
7 min readAug 15, 2020

--

This article is linked to my original post on my experience and strategies for learning as a student at the African Masters in Machine Intelligence program. If you have not read that post, I recommend you do so before reading this one in order to understand the reason why we are here. Otherwise, let’s go.. 🏃

source: giphy.com

The AMMI program teaches and requires its students to implement concepts that underline the understanding that most of these AI powerhouses ask for during interviews. I will share some general AI interview steps and focus only on the residency programs, leading up to the interview season. I believe this could be generalized for other interviews including internships. These steps, however, are my opinions based on my experience from applying to residency programs.

AI Residency

Most residency applications open in the Fall term (Sept/Oct) each year and close in December/January. Accepted residents start around August the following year. Current residency programs are:

Google AI Residency

Facebook AI Residency

IBM AI Residency

Microsoft AI Residency

Shell AI Residency

Uber AI Residency

And so on.

The interview stages for these programs are generally the same, except in a few cases. Let’s take a walk through these stages.

Stage 1: This is the first stage and it often includes submitting a motivation letter and an up-to-date resume to make an application.

The motivation letter is sometimes called a cover letter and it’s a critical component of your application. It helps the recruiter understand you as a person, which includes your interests, values, and motivation. The motivation could try to answer some sample questions like the following ones from the Google Residency:

  1. What are your primary research interests and why do you think they are important?
  2. How would participating in the AI Residency Program help you to explore your research interests and achieve your goals?
  3. Give an example of an open-ended research question or project you’ve worked on. What made it challenging and how did you overcome those challenges? Alternatively, summarize and critique a machine learning paper you have read that you found interesting.

These questions might seem daunting but they will help you to formulate your motivation in a more structured way. Try as much as possible to answer these questions clearly.

Fun fact about motivation letters: I applied twice before I got accepted to AMMI. I had some experience in machine learning and had done a couple of machine learning projects but still didn’t get in, at my first try. What changed significantly in my application the 2nd year was my motivation letter. I had learned how to better explain my motivation and reasons for wanting to study at AMMI.

Secondly, I had mentors who helped me review my draft before submission. Their wonderful feedback and constructive criticism helped me re-structure my thoughts in a compelling way.

The points above can also be applied to your residency application. Here is a wonderful blog by Katherine Lee and Ben Eysenbach on residency cover letters from Google AI. If you are selected from the pool of applicants from Stage 1, you would be invited to take person-interviews which leads us to the interview season.

Stage 2: The Interview Season

This period is usually between February and April the following year after your initial applications from stage 1. It usually includes coding and research interviews.

I) CODING INTERVIEW: Trust me! The best way to prepare for coding interviews is by preparing many weeks in advance (except you are very confident in your coding skills). Preparation is key!

You remember the data structures and algorithms course from the pre-arrival foundation, it will help you here. The course explains common data structures and algorithms in Python for technical interviews.

If you follow this course and gain enough knowledge of data structures and algorithmic thinking, you can zoom off to actual coding. Some popular platforms and resources that can help you with this are:

Notable points

  1. In addition to normal coding interviews (with code editors), recruiters could also include sort of a whiteboard interview where you do not have your favorite code editor doing tab completions and the likes for you. To prepare, try practicing with google docs. Check out Michelle Ferreirae’s blog on setting up google docs for technical interview.
  2. It’s okay to ask recruiters what you would be tested on before the interview day. I was invited to take a research engineering hiring test for an internship role in computer vision and decided to ask the recruiter what the test would look like. So I sent an email.
Hi recruiter,Thank you for the opportunity given to me to take the hiring test. I would like to ask, what the coding test would be on? Data structures and algorithms? Machine learning? This information would really be helpful in preparing for the test.Best regards.

Guess the recruiter’s response 😄

It's a CV project in a jupyter notebook. Good luck!

I was given a folder containing driver images and an almost empty notebook where I had to write my data loaders, architectural design, and training loops from scratch. The task was not difficult but trust me, these things are hard to remember if you don’t prepare for them. I probably would have prepared wrongly by revising data structures and algorithms instead, if I had not asked the recruiter for more information/clarifications.

Here is another response from a different recruiter for which I was applying for a position as a Machine Learning Intern.

Hi Daniel,Thanks for asking.The test is in python3, and the test is a coding problem for solving a probability/statistics question.To make the test fair to all candidates, we can’t say to much more than that.Let me know if you have any more questions,Best

Therefore, it’s to your own advantage to ask questions related to the interview before the day. 👐

3. The atmosphere when you code alone (unwatched) is totally different to when you do a live coding (where recruiters watch you as you code). The tension you feel is higher, so it’s advisable to include this in your preparation. Have someone conduct mock interviews for you. Pramp is a great resource for practicing live interviews and its free.

II) RESEARCH INTERVIEW: The goal of this phase is to understand the depth of your theoretical and practical background on Deep Learning and AI, your communication skills, as well as your research interests and experience. You will also have time to ask the interviewer any clarifying questions or more information about the position you are interviewing for.

a) Introduction: This interview usually starts with “Introduce yourself”, “Tell us your background” or “what got you excited into doing machine learning?”

b) Projects: Part of the initial questions would come from your projects. There is no actual roadmap to this, but be sure to say things that you are much confident in explaining. You don’t have to mention SOTA (state-of-the-art) and end up shooting yourself in the leg. Say what you can confidently explain. Because what you say would give birth to what is asked.

Project Q: Why did you choose this approach and what other options did you explore?

c) Fundamental ML/DL Questions: Moving away from SOTA, your foundation and understanding of ML/DL would be tested. The AMMI program would help you to build this understanding and solidify your foundation. So pay attention to every detail in class.

To give you an idea about possible topics that might be discussed during this interview, here are some excellent (free) resources on theoretical and applied Deep Learning:

The Deep Learning book of Goodfellow et al.

Intro to Deep Learning with PyTorch (Udemy free online course)

The videos from Nando de Freitas’ Deep learning course at the University of Oxford.

Fundamental Q: What is the effect of bias in a neural network?

d) Brain Teasers: tries to test your critical thinking skills. These questions can be optional. However, answering them demonstrates your thought process and thinking strategy to interviewers.

Here is one I got from a Ph.D. interview 😄 Please try to answer it without looking at the solution.

An athlete is jumping, and every time that she jumps she gets a bit more tired, and every jump goes 1/2 as far as her prior jump. Now, for her very first jump, she goes 1/2 of a foot. On her second jump, she goes 1/4 of a foot, and so on and so forth. How long will she take to get a foot forward?

The answer is, it will take her an infinite no of steps to get a foot (1m) forward. Her first step is 0.5m, the 2nd step is 0.25m, the 3rd step is 0.125m, and so on. This is sort of a geometric decline such that (0.5+0.25+0.125+…..) always tends toward 1 but never reaches one. [2]

Hence, she will never get to the 1-foot mark because you keep adding smaller and smaller amounts! [1]

I tell you a secret, my friend

source: https://tenor.com/view/we-learn-something-new-everyday-here-learning-something-new-experience-danielle-brooks-gif-14410223

Now, this brings us to the end of this article. To reinstate the steps we have learned, typical residency applications starts in September and close around December/January and they usually include:

Stage 1 → Motivation letter & Up-to-date resume

Stage 2 → Coding & Research Interviews

I really appreciate the wonderful feedback from Kobby Panford-Quainoo and my amazing colleagues and tutors in AMMI for this writeup.

Please let me know if you find the information here to be helpful and I will appreciate your feedback and comment. See you next time! 😃

References

[1] https://www.thetechgame.com/Archives/t=7482294/math-riddle-answer-reveal-included.html

[2] https://brainly.in/question/4468407

--

--

Daniel Ajisafe

ML scientist with high prospects | avid python programmer | Passionate volunteer | Research interest in Computer vision