Software Engineer

Software EngineerL3Medium

The Grammarly Software Engineer L3 interview process is designed to assess a candidate's technical proficiency, problem-solving abilities, and cultural fit within the company. It typically involves multiple rounds, starting with an HR screening, followed by technical interviews focusing on data structures, algorithms, and system design, and concluding with a behavioral and managerial interview.

Rounds·4

Timeline·~7d

Experience·1 - 3 yrs

Comp band·US$90000 - US$120000

Interview time·180 min

Evaluation

What they measure.

  • Problem-solving skills
  • Algorithmic thinking
  • Data structure knowledge
  • Coding proficiency
  • System design capabilities
  • Communication skills
  • Teamwork and collaboration
  • Cultural alignment with Grammarly's values

Preparation

How to prepare.

Tips

  1. Review fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, graph traversal).
  2. Practice coding problems on platforms like LeetCode, HackerRank, or Coderbyte, focusing on medium-difficulty problems.
  3. Understand core computer science concepts such as time and space complexity (Big O notation).
  4. Study system design principles, including scalability, reliability, and availability. Familiarize yourself with common design patterns.
  5. Prepare to discuss your past projects and experiences in detail, highlighting your contributions and learnings.
  6. Research Grammarly's products, mission, and values to understand how your skills and aspirations align.
  7. Practice behavioral questions using the STAR method (Situation, Task, Action, Result).
  8. Prepare thoughtful questions to ask the interviewer about the role, team, and company culture.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: DSA fundamentals and practice (LeetCode Easy/Medium).

Weeks 1-2: Focus on Data Structures and Algorithms. Cover arrays, linked lists, stacks, queues, trees (binary trees, BSTs, AVL trees), heaps, hash tables, graphs. Implement common algorithms like sorting (quicksort, mergesort), searching (binary search), graph traversal (BFS, DFS), dynamic programming, and greedy algorithms. Practice problems on LeetCode (Easy/Medium).

Questions

Commonly asked.

  • Write a function to reverse a linked list.
  • Given an array of integers, find the contiguous subarray with the largest sum.
  • Design a system to handle real-time analytics for a website.
  • How would you optimize a slow database query?
  • Tell me about a time you had to deal with ambiguity in a project.
  • What are your strengths and weaknesses?
  • Why are you interested in Grammarly?

Locations

Regional differences.

Fig · Regions — 02 locations

01 / 02

Location

Remote

Interview focus

Adaptability to remote collaboration tools and practices.Communication skills in a distributed environment.Understanding of asynchronous communication patterns.

Common questions

  • How would you design a URL shortener?
  • Explain the difference between a process and a thread.
  • Describe a challenging technical problem you solved.
  • Tell me about a time you disagreed with a teammate.

Tips

  • Ensure a stable internet connection and a quiet environment.
  • Be prepared to share your screen and use virtual whiteboarding tools.
  • Clearly articulate your thought process and solutions verbally.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

DSA

Coding questions at Grammarly.

Frequently reported on Grammarly loops

Other guides

More at Grammarly.