atlassian logo
Atlassian· Backend Engineer II

Atlassian | Backend Engineer II | Interview Experience

Location
Remote, India
Experience
3.3 years
Posted
23 Oct 2026
3 reads

Summary

I completed the technical screening and a DSA round at Atlassian, receiving a Positive verdict overall, but did not progress to the next stages.

How it went

Atlassian | Backend Engineer II | Interview Experience

Location: Remote, India Years of Experience: 3.3 Current: PBC

I applied using a referral. After a few days, a recruiter reached out and asked about my previous experience, then shared the details for the technical screening round.


Interview Process

Technical Screening - DSA + System Design (45mins)

The standard Rate Limiter question was asked (can be found in other Atlassian experiences). The base problem was to write a object‑oriented code for single client rate limiting. Then a scale‑up was asked where rate limiting was to be applied for multiple clients. Only the approach was discussed for the scale‑up since this round is time bound.

In System Design, I was asked the design for Rate Limiter. Questions like where will you place the RL, where will the config files be stored, different RL algorithms, trade‑offs, etc was discussed.

The questions were easy‑moderate, but the only catch is the time. It is strictly 45mins round, where the DSA part is to be done in 20‑25 mins and the System Design in remaining.

Verdict: Qualified


The recruiter informed that there will be total 5 rounds of interviews. Initially there will be 2 rounds and the cumulative performance will be considered to decide if the further rounds are to be taken or not.


Round 1: DSA (1 hour)

Problem: Word Case Feedback Generation

Base Problem: Build a function that generates feedback for a Wordle‑style word guessing game. The function should compare a 5‑letter guess against a 5‑letter secret_word and return a string of 5 characters (G, Y, or X):

  • G (Green): Correct letter in the correct position.
  • Y (Yellow): Correct letter, but in the wrong position.
  • X (Gray): Letter is not in the secret word.

Examples:

  • generateFeedback("house", "stole") → "YXYXG"
  • generateFeedback("crane", "plane") → "XXGGG"
  • generateFeedback("crane", "mould") → "XXXXX"

Scale‑Up: Implement a solver class that iteratively tries to find a 5‑letter secret word within a maximum number of attempts. The solver makes iterative guesses, refines its word list based on feedback, and picks the next guess. (For this implementation, assume the player always selects the first word from the current list of potential secrets).

Key Inputs:

  • potential_secrets: A list of possible words where the true secret is guaranteed to be.
  • max_attempts: The maximum number of guesses allowed.

Result: Positive

I was able to solve both the problems while keeping the code from base problem extensible such that it can be used for scale‑up. I wrote test‑cases and gave object‑oriented decision (as is expected in Atlassian from what I learnt from other interview experiences).

I expected this to be a "Highly Positive", but the recruiter said it was just "Positive", and the feedback was my code quality was not good. I code in C++ and the interviewer apparently wasn't too comfortable with it, maybe that was the reason. I used proper variable names since it was explicitly told to me by the recruiter.


Round 2: AI‑Enabled Coding (1 hour)

This is a new type of interview round and Atlassian moved to it recently. There aren't many resources to prepare for this as of now I believe.

Base Problem: A MERN codebase was given and it was a Booking Service code. It had the frontend component as well. I was asked to implement the feature where the users see which apartments are getting attention. Every time someone looks at the apartment details, we track that it was viewed. The front end should be able to show how many times each apartment has been viewed to the users.

Scale‑Up: Add REST APIs to the existing Node backend to track apartment interest and booking metrics. The frontend needs endpoints to show how many people are viewing versus actually booking each apartment.

Result: Negative

I come from a DevOps inclined background and have lost touch to proper Dev recently. Also, not that comfortable with the MERN stack. I fumbled a lot in this round. The interviewer was quite senior guy and it was intimidating as well since he cross‑questioned every minor thing that I accepted from the AI assistant. I could not give a proper explanation a couple of times. I completed the base problem, but moved to the scale‑up before writing the test‑cases. Also, by the time I completed the base problem, I had made a few mistakes and I lost confidence as I could see the interviewer wasn't convinced. I was somehow dragging it further AND AT THAT MOMENT I KNEW I F***ED UP!


Even after I bombed the Round 2, I still had some hope since I felt Round 1 went well. But then after a week, when I reached out to the recruiter for feedback, I got the feedback that Round 2 was "Negative" and Round 1 also just "Positive" and not "Highly Positive", so cannot move ahead.

So now cooldown period of 6 months.


I hope this helps! Thanks!

Questions asked (2)

  1. 01

    Rate Limiter (single and multi‑client)

    Data Structures & Algorithms

    Implement an object‑oriented rate limiter for a single client. The limiter should allow a fixed number of requests per time window and reject excess requests. Then discuss how to scale the design to support multiple clients, including where to place the limiter, configuration storage, possible algorithms, and trade‑offs.

  2. 02

    Word Case Feedback Generation (Wordle‑style)

    Data Structures & Algorithms · Medium

    Build a function generateFeedback(guess, secret_word) that returns a 5‑character string composed of G, Y, and X.

    • G (Green): correct letter in the correct position.
    • Y (Yellow): correct letter but in the wrong position.
    • X (Gray): letter not present in the secret word.

    Examples:

    • generateFeedback("house", "stole") → "YXYXG"
    • generateFeedback("crane", "plane") → "XXGGG"
    • generateFeedback("crane", "mould") → "XXXXX"

    Scale‑Up: Create a solver class that, given a list of possible secret words and a maximum number of attempts, iteratively guesses words, uses the feedback to prune the list, and continues until the secret is found or attempts are exhausted. The solver should always pick the first word from the current candidate list.

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Atlassian recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

Be the first to share your thoughts and start the discussion!