Machine Learning @ Grammarly | Interview Guide

What to expect from Grammarly's MLE interview process, and how to prepare effectively.
Last edited 2 minutes ago by Alex Libre

Overview & Introduction

Hi! 👋
We’re excited that you’re interviewing with for a Machine Learning Engineer position!
In this guide, we’ll share some tips to help you prepare for and have a successful interview experience. Feel free to email
or if you have any questions.
Want to read even more about what Grammarly’s engineering team is up to? Feel free to check out our engineering blog here:

Actively Hiring Teams & Opportunities

Job Descriptions

For your reference, here are the job descriptions for all three MLE opportunities that we’re currently hiring for at Grammarly:
The Growth ML team at Grammarly, specifically the Marketing Technology team, builds systems that enhance the company's marketing efforts, shape marketing strategies, and optimize campaigns using data and advanced algorithms to improve ad performance and efficiency, thereby maximizing ROI and delivering targeted ads effectively. This role significantly impacts the business by driving better business outcomes and increasing customer satisfaction through improved data-driven decision-making and personalized marketing efforts.
On this team, you will:
Build scalable end-to-end machine learning solutions for marketing problems.
Enhance data-driven decision-making in marketing.
Personalize marketing content and offers for individual customers.
Promote best practices in research, implementation, tooling, and system design within the Machine Learning team.
Collaborate cross-functionally with Marketing, Marketing Analytics, Data Science, ML Infrastructure, and Product teams.
Communicate technical machine learning results effectively in a business context.

The Responsible AI team at Grammarly develops technology to enhance the safety and fairness of all Grammarly products, focusing on creating scalable machine learning solutions for challenging customer problems, exploring novel techniques for unsolved issues, and integrating risk mitigation technology across different products.
On this team, you will:
Develops technology to enhance safety and fairness in all Grammarly products.
Builds scalable end-to-end ML solutions for challenging customer problems.
Explores novel techniques to address previously unsolved problems.
Promotes best practices in research, implementation, tooling, and system design.
Works cross-functionally with various teams to integrate risk mitigation technology.
Communicates technical ML results effectively in a business context.

The On-Device ML team at Grammarly addresses challenges related to model size, performance, and latency to ensure that machine learning models are effectively implemented in an on-device context, enhancing the functionality and responsiveness of Grammarly’s applications on consumer devices.
Feel free to read my notes from a recent conversation with the On-Device hiring manager to learn more about the team:
On this team, you will:
Propose, design, and prototype new features enabled by on-device capabilities.
Build and implement machine learning models to solve real-world problems, considering factors like model size, performance, and latency.
Collaborate with core product teams to integrate models into user interfaces.
Launch and monitor ML model deployments through A/B testing, addressing issues based on user feedback and telemetry.
Utilize academic research to ensure technology reflects and advances the state of the art in the field.

Grammarly Careers Page

You can also learn more about what it would be like to work at Grammarly on our official careers page:

Grammarly ML on YouTube

Interview Process & What to Expect

We value that every candidate brings different experiences and perspectives. Our technical interview panel covers a wide range of topics, including ML practical, ML system design, and machine learning/deep learning fundamentals.
In addition to the technical skills assessment, you can expect career and working history interviews where we explore your professional and academic experiences.
The interview process is fundamentally the same for all MLE opportunities at Grammarly.
Interview Stage
Total Duration
Recruiter Intro Call
25 mins
Initial Technical Coding Round
1 hr 15 mins
Onsite Interviews (x3)
3 hrs 30 mins
Final Interviews (x2)
2 hrs
There are no rows in this table

Recruiter Screen

A brief, 25-minute conversation during which will ask some questions about your background and relevant experience, and also answer any questions you may have about these MLE opportunities, the interview process, or Grammarly more generally.

Initial Interview

1. Technical Coding Round | 75 minutes

You will begin this interview with a Q&A focusing on ML fundamentals and backend experience. After this, you will go into the main part of the interview, a coding round. (This coding part only focuses on general algorithms and problem-solving)
We do not ask you to write ML code in the technical screen, but we do in the following round. For this round, you will need to pass as many of the test cases as possible. The pillars will be evaluated as follows:
Finding an optimal solution
Did you consider all relevant alternatives and arrive logically at the best one?
Did you arrive at a solution with minimal help and intervention from your interviewer?
Code Fluency
Self-explanatory; you should write good, clean code and do so independently.

Onsite Interviews (virtual via Zoom)

1. ML Practical | 1st Technical Interview

This is a 75-minute session. Please note: This is not leetcode-style algorithmic coding in format; rather, it is more ML-focused. We expect candidates to build an end-to-end machine learning pipeline that solves a particular problem set. We ask you to familiarize yourself with Google Colab notebook. Any ML framework can be used, and you can look up library documentation during the interview.

2. ML System Design (Personalization | 2nd Technical Interview

This interview will focus on you designing an ML System. An example could be designing a ranking system. Pillars evaluated here are problem solving, technical communication, backend service architecture, and customer/production-focused ML concepts.
(You have the option whiteboard virtually)

3. ML/DL | 3rd Technical Interview

In this interview (conversational/dialectical Q&A format), you will design a system for an ML/NLP problem. You will go into more detail about the model architecture and how different layers of the model work (It is less about the ‘system’ part).
You can prepare by breaking down some of your ML projects
Areas covered: DL + classical ML
Concepts covered: model architecture, training, evaluation

Final Interviews

Finally, two one-hour interviews will discuss various aspects of your work history:

1. Hiring Manager Interview | Non-Technical

The first interview will be with the Hiring Manager. During this session, please pick a high-complexity, high-impact engineering project that represents your work in the last 1-2 years of your career to dive into. It helps to bring a high-level systems design/architecture diagram to explain your work.

2. Final Interview | Non-Technical

The second non-technical interview (with someone who is not the hiring manager, and may work on a different team/function entirely!) will focus on your career highs/lows, achievements/learnings, and what values you’ve prioritized in your career. It might help to have a printout of your resume or a list of teams you worked on handy for this question.

Interview Guidance

General Tips for All Interviews

Grammarly lives and breathes its .
We look for these in all of our interviews, so be sure to consider how you can demonstrate your alignment with them in an authentic way.
We want to learn as much as we can about you during the interview. Be transparent, open, clear, and concise.
Communication is critical to us and is something we look at in the interview process. Think about the audience and the level of information we have asked for. For example, did we ask for an overview or a deep technical explanation of a project? How much detail would be appropriate to provide? Should I clarify what they’re asking before diving into my answer? (Yes, you should!)
Try to be concise and to the point. If you’d like to share more or aren’t sure if the key idea was understood, check with the interviewer.
Look out for visual or auditory cues that we are trying to interrupt. We may need clarification on something you said or need to move the conversation along to cover all the information we require. We are doing this to help you.
Make it clear which parts of a project you worked on specifically and which parts were done by the team. This helps the interviewer. Don’t hesitate to talk about your accomplishments.
Mention any significant work you did outside your job description. For example, did you do many interviews, improve a process, or volunteer in an employee group?
Please familiarize yourself with our product. In your interview confirmation email, you will receive a voucher to try Grammarly Premium. Be sure to check it out!

Tips for Interviewing in a Remote Environment

Operating as a company, we conduct our interviews remotely via Zoom and use collaboration tools like Google Docs and .

How to use Zoom effectively during virtual interviews

While coding or completing system design problems, use “Enter Minimal View” in the Meeting menu. Or use the shortcut ⌘ ⇧ M . This will create a small video window that remains on top of your collaboration tool even if Zoom is not your active window.
If possible, set yourself up in a well-lit area where you won’t be distracted.
Don’t be afraid to ask for a break if you need one.
It is OK to arrange interviews over multiple days to work best with your schedule.
Sometimes pictures are clearer than words. If you have access to a whiteboard or notebook, it is helpful to have them nearby. There is also a “Whiteboard” option in the “Share Screen” feature of Zoom that you are welcome to use.

Good luck!

if you need anything from me in the meantime, and best of luck!
P.S. Made it all the way to the end? High five :)
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.