
Atlassian

10+ Atlassian Software Developer Interview Questions and Answers
Q1. Structurally Unique Binary Trees of Dragon Balls
Goku has ‘N’ Dragon Balls, where each Dragon Ball is unique. The ith Dragon Ball has ‘i’ stars on it, meaning the first Dragon Ball has 1 star, the second has 2 ...read more
Count the number of structurally unique binary trees that can be constructed with given Dragon Balls.
Use dynamic programming to solve this problem efficiently.
The number of structurally unique binary trees can be calculated using Catalan numbers.
For each test case, calculate the number of structurally unique binary trees modulo 10^9 + 7.
Return the count of unique binary trees for each test case.
Q2. Find K'th Character of Decrypted String
You are given an encrypted string where repeated substrings are represented by the substring followed by its count. Your task is to find the K'th character of the decrypt...read more
Given an encrypted string with repeated substrings represented by counts, find the K'th character of the decrypted string.
Parse the encrypted string to extract substrings and their counts
Iterate through the substrings and counts to build the decrypted string
Track the position in the decrypted string to find the K'th character
Q3. Quick Sort Problem Statement
You are provided with an array of integers. The task is to sort the array in ascending order using the quick sort algorithm.
Quick sort is a divide-and-conquer algorithm. It involve...read more
Yes, the quick sort algorithm can be enhanced to achieve NlogN complexity in the worst case by using randomized quick sort or median of three pivot selection.
Use randomized quick sort to randomly select the pivot element, reducing the chances of worst-case scenarios.
Implement median of three pivot selection to choose a pivot that is closer to the median value, improving partitioning efficiency.
Consider using dual pivot quick sort for further optimization in certain cases.
Exam...read more
Q4. Weighted Job Scheduling Problem Statement
You have 'N' jobs, each with a start time, end time, and profit. Your task is to identify the maximum profit that can be earned by scheduling these jobs such that no tw...read more
The Weighted Job Scheduling problem involves maximizing profit by scheduling non-overlapping jobs with given start times, end times, and profits.
Sort the jobs by end time in ascending order.
Initialize an array 'dp' to store maximum profit at each job index.
For each job, find the latest non-overlapping job and update 'dp' with the maximum profit.
Return the maximum profit from 'dp'.
Q5. Job Scheduling Problem
You are provided with a list of jobs, where each job has a specific deadline and profit. The goal is to schedule these jobs such that the total profit is maximized. Each job requires exac...read more
The goal is to schedule jobs to maximize profit while meeting deadlines. Each job takes one unit of time and only one job can be scheduled at a time.
Sort the jobs in decreasing order of profit
Iterate through the sorted jobs and schedule them based on their deadlines
Keep track of the total profit achieved
Ensure each job is completed before its deadline
Q6. Minimum Number of Platforms Problem
Your task is to determine the minimum number of platforms required at a railway station so that no train has to wait.
Explanation:
Given two arrays:
AT
- representing the ar...read more
Determine the minimum number of platforms needed at a railway station so that no train has to wait.
Sort the arrival and departure times arrays in ascending order.
Use two pointers to iterate through the arrays and keep track of the number of platforms needed.
Increment the number of platforms needed when a train arrives and decrement it when a train departs.
Return the maximum number of platforms needed at any point.
Example: Input: T = 1, N = 3, AT = [900, 940, 950], DT = [910, ...read more
Q7. Spell Checker Problem Statement
You are provided with a list of strings, DICTIONARY[]
, representing the correct spellings of words, and a query string QUERY
that may contain misspelled words. Your task is to ve...read more
Given a list of correct spellings and a query string, return a list of suggested correct spellings if the query is misspelled.
Iterate through the dictionary to check for matching prefixes with the query string.
If a match is found, add the corresponding word to the list of suggestions.
Return the list of suggestions if the query is misspelled, otherwise return an empty list.
Q8. Spiral Order Traversal of a Binary Tree
Given a binary tree with N
nodes, your task is to output the Spiral Order traversal of the binary tree.
Input:
The input consists of a single line containing elements of ...read more
Implement a function to return the spiral order traversal of a binary tree.
Traverse the binary tree level by level, alternating between left to right and right to left.
Use a queue to keep track of nodes at each level.
Append nodes to the result list in the order they are visited.
Low-level languages interact directly with hardware, while high-level languages are more abstract and easier to read/write.
Low-level languages are closer to machine code and hardware, while high-level languages are closer to human language.
Low-level languages require more manual memory management and are less portable, while high-level languages have automatic memory management and are more portable.
Examples of low-level languages include Assembly and C, while examples of hig...read more
Q10. Design File System : You have given file size and collection in input 1 : get total size 2 : find top k collections in size
Design a file system to calculate total size and find top k collections in size.
Create a file system class with methods to add files and calculate total size.
Maintain a data structure to store the collections and their sizes.
Implement a method to find the top k collections based on size.
Consider using a priority queue or sorting the collections based on size.
Handle edge cases like empty collections or invalid input sizes.
Q11. Find Top k collections
The question is asking to find the top k collections.
Use a sorting algorithm to sort the collections in descending order based on a specific criteria.
Select the top k collections from the sorted list.
Return the selected collections as an array of strings.
Q12. Find total size
Calculate the total size of an array of strings.
Iterate through the array and sum the length of each string.
Use the `length` property of each string to get its size.
Handle edge cases such as empty strings or null values.
More about working at Atlassian

Interview Process at Atlassian Software Developer

Top Software Developer Interview Questions from Similar Companies








Reviews
Interviews
Salaries
Users/Month

