Microsoft SDE Intern Interview Experience
💼 LTIMindtree Interview Experience (On-Campus) | Fresher | 2026
Salesforce SMTS | Interview Experience | Rejected
JPMC | SDE2 (Associate) - Java Backend - Interview Experience + Compensation
Microsoft - SDE2 - Coding Round
Atlassian | Software Engineer P40 / P50
Summary
I interviewed for a Software Engineer P40/P50 role at Atlassian, which included a Karat screening, a code design round, a data structures round with a problem on commodity prices, and a system design round for a content tagging system. I am currently awaiting results.
Full Experience
Round 1: Karat Screening Round All are available or similar on LeetCode.
1 LC Medium 5 Multiple choice questions on system design
Round 2: Code Design Design a Middleware Router
Round 3: Data Structures
Commodity Prices Imagine you are given a stream of data points consisting of <timestamp, commodityPrice> you are supposed to return the maxCommodityPrice at any point in time.
The timestamps in the stream can be out of order, or there can be duplicate timestamps, we need to update the commodityPrice at that particular timestamp if an entry for the timestamp already exists Create an in-memory solution tailored to prioritize frequent reads and writes for the given problem statement
Can we reduce the time complexity of the getMaxCommodityPrice to O(1) if the language does not support it? This can be done using a variable to keep the maxPrice value, but we need to update it when performing the upsert operations
Round 4: System Design
Atlassian has a number of different products, each containing different types of content. As an example, let’s look at three of our products:
Jira – Issues
Confluence – Pages
Bitbucket – Pull requests
We want to build a system that allows users to tag content from different products, and then to view content by tags. A goal of this system is that it should be built on a product-agnostic way, so that we could add new products in the future without a large amount of work.
There are three key experiences that we want to build here:
- As a user, I can add, remove and update tags on content
- As a user, I can click on a tag and see all content that has been associated with that tag
- As a user, I can see a dashboard of popular tags
Imagine that you are on a team that needs to design and build the system to power this experience.
Round 4 : Result Awaited
Interview Questions (3)
Design a Middleware Router
Imagine you are given a stream of data points consisting of <timestamp, commodityPrice> you are supposed to return the maxCommodityPrice at any point in time.
The timestamps in the stream can be out of order, or there can be duplicate timestamps, we need to update the commodityPrice at that particular timestamp if an entry for the timestamp already exists Create an in-memory solution tailored to prioritize frequent reads and writes for the given problem statement
Can we reduce the time complexity of the getMaxCommodityPrice to O(1) if the language does not support it? This can be done using a variable to keep the maxPrice value, but we need to update it when performing the upsert operations
Atlassian has a number of different products, each containing different types of content. As an example, let’s look at three of our products:
Jira – Issues
Confluence – Pages
Bitbucket – Pull requests
We want to build a system that allows users to tag content from different products, and then to view content by tags. A goal of this system is that it should be built on a product-agnostic way, so that we could add new products in the future without a large amount of work.
There are three key experiences that we want to build here:
- As a user, I can add, remove and update tags on content
- As a user, I can click on a tag and see all content that has been associated with that tag
- As a user, I can see a dashboard of popular tags
Imagine that you are on a team that needs to design and build the system to power this experience.