Atlassian interview experience Real time questions & tips from candidates to crack your interview

SDE - 1

Atlassian
upvote
share-icon
3 rounds | 6 Coding problems

Interview preparation journey

expand-icon
Journey
Started coding 2 years back when I was in 2nd year. I got to know that to get an internship we have to do some coding type stuff. I started with basic coding and started with hackerank and gradually increases the difficulty of the problem. After that I moved to leetcode and firstly I solved problems on the basis of tags first easy then medium then hard.
Application story
So basically it was an on camous opportunity the company has visted our college to hire final year students for the full time role. There were 3 round of interview and 1 online test round. All interviews were taken on google meet
Why selected/rejected for the role?
Not able to come up with the solution as expected by the interviewer as it was a hard question and I was not able to get the solution in given time and also being nervous due to that.
Preparation
Duration: 6 months
Topics: DP, Graph, Array, Greedy, Hashmap, Stack and queue
Tip
Tip

Tip 1 : Having at least 1 project in resume
Tip 2 : Resume should be one page only strictly
Tip 3 : Put some achievements like you got a good rank in a coding contest help you to stand out

Application process
Where: Campus
Eligibility: 7.5 CGPA and above
Resume Tip
Resume tip

Tip 1 : Should be of 1 page only
Tip 2 : Must have some projects

Interview rounds

01
Round
Medium
Online Coding Interview
Duration60 minutes
Interview date18 Aug 2022
Coding problem2

It was in the afternoon time.

1. Subset Sum Equal To K

Moderate
30m average time
65% success
0/80
Asked in companies
Paytm (One97 Communications Limited)SalesforceAtlassian

You are given an array/list ‘ARR’ of ‘N’ positive integers and an integer ‘K’. Your task is to check if there exists a subset in ‘ARR’ with a sum equal to ‘K’.

Note: Return true if there exists a subset with sum equal to ‘K’. Otherwise, return false.

For Example :
If ‘ARR’ is {1,2,3,4} and ‘K’ = 4, then there exists 2 subsets with sum = 4. These are {1,3} and {4}. Hence, return true.
Problem approach

An efficient solution is while traversing the array, storing sum so far in currsum. Also, maintain the count of different values of currsum in a map. If the value of currsum is equal to the desired sum at any instance increment count of subarrays by one. 

The value of currsum exceeds the desired sum by currsum – sum. If this value is removed from currsum then the desired sum can be obtained. From the map, find the number of subarrays previously found having sum equal to currsum-sum. Excluding all those subarrays from the current subarray, gives new subarrays having the desired sum. 

So increase count by the number of such subarrays. Note that when currsum is equal to the desired sum then also check the number of subarrays previously having a sum equal to 0. Excluding those subarrays from the current subarray gives new subarrays having the desired sum. Increase the count by the number of subarrays having sum 0 in that case.

Try solving now

2. Strongly Connected Components (Tarjan’s Algorithm)

Hard
15m average time
85% success
0/120
Asked in companies
AppleMicrosoftAmazon

You are given an unweighted directed graph of 'V' vertices and 'E' edges. Your task is to print all the strongly connected components (SCCs) present in the graph.

Problem approach

We can use Kosaraju algorithm for this question
We can find all strongly connected components in O(V+E) time using Kosaraju’s algorithm. Following is detailed Kosaraju’s algorithm.

Create an empty stack ‘S’ and do DFS traversal of a graph. In DFS traversal, after calling recursive DFS for adjacent vertices of a vertex, push the vertex to stack. In the above graph, if we start DFS from vertex 0, we get vertices in stack as 1, 2, 4, 3, 0. 
Reverse directions of all arcs to obtain the transpose graph. 
One by one pop a vertex from S while S is not empty. Let the popped vertex be ‘v’. Take v as source and do DFS (call DFSUtil(v)). The DFS starting from v prints strongly connected component of v. In the above example, we process vertices in order 0, 3, 4, 2, 1 (One by one popped from stack).

Try solving now
02
Round
Medium
Video Call
Duration60 minutes
Interview date23 Aug 2022
Coding problem2

It was at 9 am at google meet
Interviewer seems to be an experienced one.
He introduced himself then asked the same from me.
 

1. DBMS Question

SQL vs NoSQL
Transaction in DBMS
Acid property

2. Weighted Job Scheduling

Moderate
15m average time
85% success
0/80
Asked in companies
GrowwSalesforceAccenture

You are given 'N' jobs with their start time 'Start', end time 'End' and profit 'Profit'. You need to tell the maximum profit you can obtain by performing these jobs such that no two jobs overlap.

Note:
The start time of one job can be equal to the end time of another.
Problem approach

1) First sort jobs according to finish time.
2) Now apply following recursive process. 
// Here arr[] is array of n jobs
findMaximumProfit(arr[], n)
{
a) if (n == 1) return arr[0];
b) Return the maximum of following two profits.
(i) Maximum profit by excluding current job, i.e., 
findMaximumProfit(arr, n-1)
(ii) Maximum profit by including the current job 
}

How to find the profit including current job?
The idea is to find the latest job before the current job (in 
sorted array) that doesn't conflict with current job 'arr[n-1]'. 
Once we find such a job, we recur for all jobs till that job and
add profit of current job to result.
In the above example, "job 1" is the latest non-conflicting
for "job 4" and "job 2" is the latest non-conflicting for "job 3".

Try solving now
03
Round
Hard
Video Call
Duration60 minutes
Interview date23 Aug 2022
Coding problem2

It was at 12 pm on the same day at google meet
Interviewer seems to be an experienced one.
 

1. OS Question

CPU scheduling algorithms
Round robin 
Priority scheduling
memory management
Semaphores

2. Spell Checker

Hard
50m average time
50% success
0/120
Asked in companies
GoogleFlipkartAtlassian

You are given a list of strings, ‘DICTIONARY[]’ that represents the correct spelling of words and a query string ‘QUERY’ that may have incorrect spelling. You have to check whether the spelling of the string ‘QUERY’ is correct or not. If not, then return the list of suggestions from the list ‘DICTIONARY’. Otherwise, return an empty list which will be internally interpreted as the correct string.

Note:

1) The suggested correct strings for the string  ‘QUERY’ will be all those strings present in the ‘DICTIONARY[]’ that have the prefix same as the longest prefix of string ‘QUERY’.

2) The ‘DICTIONARY[]’ contains only distinct strings.

For example:

Given 'DICTIONARY[]' = {“ninja”, “ninjas”, “nineteen”, “ninny”} and query = “ninjk”. Since “ninjk” is not present in the ‘DICTIONARY[]’, it is an incorrect string. The suggested current spellings for “ninjk” are “ninja” and “ninjas”. It is because “ninj” is the longest prefix of “ninjk” which is present as the prefix in ‘DICTIONARY’.
Try solving now

Here's your problem of the day

Solving this problem will increase your chance to get selected in this company

Skill covered: Programming

Which array operation has O(n) worst-case time complexity?

Choose another skill to practice
Similar interview experiences
company logo
SDE - 1
5 rounds | 5 problems
Interviewed by Atlassian
4413 views
0 comments
0 upvotes
company logo
SDE - 1
1 rounds | 3 problems
Interviewed by Atlassian
2256 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 3 problems
Interviewed by Atlassian
1724 views
0 comments
0 upvotes
company logo
SDE - 1
2 rounds | 3 problems
Interviewed by Atlassian
1092 views
0 comments
0 upvotes
Companies with similar interview experiences
company logo
SDE - 1
5 rounds | 12 problems
Interviewed by Amazon
108664 views
24 comments
0 upvotes
company logo
SDE - 1
4 rounds | 5 problems
Interviewed by Microsoft
52875 views
5 comments
0 upvotes
company logo
SDE - 1
3 rounds | 7 problems
Interviewed by Amazon
32564 views
6 comments
0 upvotes