Atlassian | Senior Software Engineer
Anonymous User
19181

Note:
1. Questions are slightly modified due to NDA.
2. URL-1 (mentioned later, remove spaces between characters): h t t p s : / / a t l a s s i a n b l o g . w p e n g i n e . c o m / w p - c o n t e n t / u p l o a d s / 2 0 2 1 / 1 1 / v a l u e s - i n t e r v i e w i n g - a t l a s s i a n . p d f


DSA Round

Find K Closest Elements


Coding Round

Alongside DSA, the interviewer focused on coding and multi-threading concepts The task was to implement a Rate Limiter, and I started with a discussion about Fixed Window and Sliding Window.

  • Choice of Sliding Window: The interviewer asked for a detailed explanation of both techniques and asked to implement Sliding Window rate limiter.
  • Multi-threading: During implementation, there was a discussion about concurrency, particularly focusing on:
    • Why I used ConcurrentHashMap instead of HashMap.
    • The use of the synchronized keyword.

Systems Design Round

For Backend Roles:

Context: The interviewer used Atlassian as an example to explain a system with multiple products like Jira, Confluence, and BitBucket. Each customer may have purchased licenses for several of these products. Every product has different types of entities, such as Sprints, Features, and Tasks in Jira, documents in Confluence, and Code Repositories in BitBucket. The owner can assign hashtags to these entities.

Example: For a project called 'Project-XYZ', all related Jira tickets, user stories, Confluence documents, and BitBucket code reviews can be tagged with #project-xyz for easier tracking.

Functional requirements:

  1. Fetches all tagged entities: The system should efficiently retrieve all entities owned by a customer that are tagged with a specific hashtag, across multiple products.
  2. Top 10 Hashtags: Design a solution to identify the top 10 hashtags globally (across all customers) with the most tagged entities. Similar to "Top-K leader board problem"

Non-functional requirements:

  1. The system should be highly configurable to allow new product types and entity types to be added.
  2. Hashtags are dynamic, with no pre-defined set, meaning users can create any tag.

The focus was on schema design and choosing the right database and mapping structure for efficient querying.

For Frontend Roles:

A friend shared insights from the frontend system design round. The task was to design a dynamic sprint dashboard where users could modify the dashboard by adding columns such as “Backlog,” “Scheduled,” “In Progress,” etc. Each column could contain entities like tasks or stories.

The key areas of focus were:

  • Reusable UI Components: The UI components, such as tasks or stories, should be reusable. For example, a Task should be rendered using the same UI component each time.
  • Versioning: Instead of modifying existing UI components, the idea of creating a new version of the component, similar to versioning in backend systems (e.g., Maven), was emphasized.

[V.Imp.] Management Round: Don't go unprepared!!

This round is for Senior Engineer roles, and it's MANDATORY to clear, even if you ace the technical rounds! People with 5-6 years of experience might not have had the chance to lead a project where they managed others acting as a project lead. But this round expects candidates to have managerial experience.

I strongly recommend checking URL-1, Atlassian’s official documentation. It lists their 5 values with 2 sample questions for each. Trust me, interviewers ask straight from this!

If you lack managerial experience, don’t admit it. Prepare responses that demonstrate your ability to lead. For example, if asked about a time when you improved someone's performance, don’t just mention helping them to learn a technology. Instead, say your colleague was newly promoted to a Senior role and was having a hard time managing resources and tracking progress. You helped him with best practices that you learned from your experience, such as setting up a dedicated project call outside of the daily standup to thoroughly assess progress. This response shows you understand team dynamics and can coach others.

Every answer should aim to showcase strong managerial experience and knowledge of best practices. The interviewer will be a manager!


Values round

Everything I said about the managerial round applies exactly to this one as well.


Preparation

For details on how I prepared, check out my Google interview experience blog.

Comments (9)