Atlassian
70+ MIT School of Distance Education Interview Questions and Answers
You have been given an array/list 'WORDS' of 'N' non-empty words, and an integer 'K'. Your task is to return the 'K' most frequent words sorted by their frequency from highest to lowest.
No...read more
Given an array of words and an integer k, return the k most frequent words sorted by frequency.
Use a hashmap to count the frequency of each word
Use a priority queue to keep track of the k most frequent words
Sort the priority queue based on frequency and lexicographical order
Goku has ‘N’ Dragon Balls. Each Dragon Ball is unique with the ith Dragon Ball having ‘i’ stars on it. For example, the first Dragon Ball has 1 star, the second Dragon Ball has 2 stars, and...read more
Given a list of [FileName, FileSize, [Collection]] - Collection is optional, i.e., a collection can have 1 or more files.
Same file can be a part of more than 1 collection. How would you d...read more
Ninja has recently started a startup. In his startup, there is only one conference room for a meeting. Ninja receives an array/list ‘MEETINGS’ of back-to-back appointment requests and is d...read more
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...read more
You are given an array of integers. You need to sort the array in ascending order using quick sort.
Quick sort is a divide and conquer algorithm in which we choose a pivot point and partition the arra...read more
You are present at point ‘A’ which is the top-left cell of an M X N matrix, your destination is point ‘B’, which is the bottom-right cell of the same matrix. Your task is to find the total num...read more
You have been given an Encrypted String where repetitions of substrings are represented as substring followed by the count of substrings.
Example: String "aabbbcdcdcd" wil...read more
You are given a list of ‘N’ jobs which has to be performed. Each job is associated with a deadline and a profit if the job is completed before the deadline. Each job takes one unit of time...read more
You are given a connected directed acyclic graph of ‘N’ nodes and ‘N’ - 1 edges, such that there is only one edge between any two nodes. You can perform the below operation on the given graph zero ...read more
Ninja has been given 2 points ‘A’ and ’B’ that corresponds to the line ‘AB’ and ‘P’, ’Q’ that corresponds to line ‘PQ’ on a 2D plane. Ninja wants to find the intersection point of the ‘AB’ and...read more
You have been given two arrays, 'AT' and 'DT', representing the arrival and departure times of all trains that reach a railway station.
Your task is to find the minimum number of plat...read more
Tagging system across all Atlassian products (Jira, Confluence, Bitbucket). Tag addition/update/delete in one product should reflect across all other products. Design DB schema and High le...read more
Design a tagging system across Atlassian products for seamless tag synchronization.
Create a centralized tag management service
Design a database schema to store tags and their associations with products
Implement event-driven architecture to propagate tag changes across products
Use a message broker for asynchronous communication between services
Ensure data consistency and handle conflicts during tag updates
Consider scalability and performance requirements
You have been given a binary tree of 'N' nodes. Print the Spiral Order traversal of this binary tree.
For example
For the given binary tree [1, 2, 3, -1, -1, 4, 5, -1, -1,...read more
You have been given a Snake and Ladder Board with 'N' rows and 'N' columns with the numbers written from 1 to (N*N) starting from the bottom left of the board, and alternating direction each row...read more
As Atlassian have multiple products, so I was asked to design a tagging system, where you can apply a tag on them and once you will click on tag all the pages related to it should appear.
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 ...read more
I was asked to design a snake game, where you have initial coordinate of snake of length 1, and also food with it's cordinate will generate one after another, and game will over if snake t...read more
Atlassian has 5 values. Situational questions will be asked around those 5 values if you've demonstrated them in your past or not.
Atlassian has 5 values. Situational questions will be asked around those 5 values if you've demonstrated them in your past or not.
Be the change you seek
Don't #@!% the customer
Play, as a team
Build with heart and balance
Be the CEO of your own career
It was sort of HM round, where an experienced interviewer will ask you behavioral question related to your experience and put you in hypothetical situation. They overall judge you personally a...read more
Why Atlassian over other companies ?
Tell one incident when you were not able to cooperate with your team member and how did you work together.
What is virtual memory. What are its uses. Different OS related problems, Indexing
How is CPU scheduling done and what are the CPU scheduling algorithms like Round robin , SJF etc.
Snake game
Design a snake game
Use a 2D array to represent the game board
Keep track of the snake's position and direction
Handle user input to change the snake's direction
Update the snake's position and check for collisions with walls or itself
Add food to the board and handle eating it to grow the snake
Keep track of the score and display it to the player
Q25. Difference between git and Mercurial, How do you resolve merge conflicts, How do you start services in Linux/Windows, Java thread dump, heap dump, deadlock
Answering questions on Git, Mercurial, Linux/Windows services, Java thread dump, heap dump, and deadlock
Git and Mercurial are both version control systems, but Git is more popular and has a steeper learning curve
Merge conflicts occur when two or more people make changes to the same file at the same time, and can be resolved using tools like Git's merge tool or Mercurial's merge tool
Starting services in Linux can be done using the systemctl command, while in Windows it can be ...read more
1. Interviewer asked behavioral questions related to past experience.
2. Explained the charter of the team.
3. Some system design discussion also happened in this round.
Compiler design related questions, differences between Python and C in very depth.
What is javascript, its uses, server client problems.
Q29. Take any example in ticket closing and explain how will you do hypothesis testing
Hypothesis testing in ticket closing example
Define null and alternative hypothesis
Choose appropriate statistical test
Set significance level
Collect data and calculate test statistic
Determine p-value and compare with significance level
Make conclusion and interpret results
Low level vs High level language, kernel related questions
Q31. How will you optimize ticket closing process
I will streamline the process by identifying bottlenecks and implementing automation.
Analyze current process flow
Identify areas of delay or inefficiency
Implement automation tools to reduce manual effort
Set up clear communication channels between team members
Track progress and adjust as needed
Q32. What is your approach to managing opposing directions from different leads?
I prioritize clear communication, seek common ground, and involve all stakeholders in decision-making.
Open communication with all leads to understand their perspectives
Identify common goals and areas of agreement
Involve all stakeholders in decision-making process
Seek compromise or alternative solutions when necessary
Q33. 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.
Q34. A file will have special tag call container , list all the k container with max usgae
List all containers with max usage of the special tag 'container'.
Identify all containers with the special tag 'container'.
Calculate the usage of each container.
Find the container(s) with the maximum usage.
Q35. How can you handeling the customer
Handling customers involves active listening, empathy, problem-solving, and effective communication.
Listen actively to understand the customer's concerns
Show empathy and understanding towards the customer's situation
Offer solutions or alternatives to resolve the issue
Communicate clearly and effectively to ensure the customer's needs are met
Follow up to ensure customer satisfaction
Q36. Binary search to get left and right index of an element in a sorted array
Binary search algorithm can be used to find the left and right index of an element in a sorted array.
Initialize left and right pointers to 0 and length-1 respectively.
While left <= right, calculate mid index and compare element with array[mid].
If element is found, update left and right pointers accordingly for left and right index.
If element is not found, adjust left or right pointer based on comparison with array[mid].
Q37. implement method which returns total usage
Implement a method to return total usage
Create a method that calculates the total usage by summing up individual usage values
Ensure the method can handle different types of usage data (e.g. integers, floats)
Consider implementing error handling for invalid input data
Test the method with sample data to verify its accuracy
Q38. Write code to find count of characters in string.
Count characters in a string using array of strings.
Iterate through each string in the array
For each string, iterate through each character and increment count
Return the total count of characters
Q39. Create a tic tac toe game taking number of boards as a parameter
Create a tic tac toe game with customizable number of boards.
Accept number of boards as a parameter
Create a 3x3 grid for each board
Implement logic to check for winning combinations on each board
Q40. What is ur IRR ?
IRR stands for Internal Rate of Return, a financial metric used to evaluate the profitability of an investment.
IRR is a discount rate that makes the net present value of all cash flows from an investment equal to zero.
It is used to compare the profitability of different investment opportunities.
A higher IRR indicates a more profitable investment.
For example, if an investment has an IRR of 10%, it means that the investment is expected to generate a return of 10% per year.
Q41. How do you measure project success?
Project success can be measured by meeting project goals, staying within budget and timeline, and receiving positive feedback from stakeholders.
Meeting project goals and objectives
Staying within budget and timeline
Receiving positive feedback from stakeholders
Achieving desired outcomes and deliverables
Maintaining high team morale and engagement
Q42. Rate Limiter with possible test cases
Rate limiter is a mechanism to control the rate of requests sent to a server
Implement a sliding window algorithm to track the number of requests within a specific time frame
Set a limit on the number of requests allowed per unit of time
Return an error response when the limit is exceeded
Test cases: 1. Send requests below the limit - should be successful. 2. Send requests above the limit - should receive an error response.
Q43. Assessment of Atlassian values
Atlassian values are centered around teamwork, openness, and customer focus.
Atlassian values collaboration and encourages employees to work together to achieve common goals.
Openness is a key value, with transparency and honesty being highly valued.
Customer focus is a top priority, with a commitment to delivering high-quality products and services that meet customer needs.
Other values include innovation, continuous improvement, and a focus on results.
Examples of Atlassian valu...read more
Q44. How can you do feature selection?
Feature selection can be done using techniques like filter methods, wrapper methods, and embedded methods.
Filter methods involve selecting features based on statistical measures like correlation, chi-squared test, etc.
Wrapper methods use a specific machine learning algorithm to evaluate the importance of features through iterative selection.
Embedded methods incorporate feature selection within the model training process, like Lasso regression for sparse feature selection.
Exam...read more
Q45. How you resolve a DNS query
To resolve a DNS query, you can use various methods such as checking the DNS cache, querying authoritative DNS servers, and troubleshooting network connectivity.
Check the local DNS cache for a matching entry
Query the recursive DNS server configured on the device
If the recursive server doesn't have the answer, it queries authoritative DNS servers
Troubleshoot network connectivity issues if DNS resolution fails
Q46. Train a Decision Tree based on dataset provided?
Train a Decision Tree based on provided dataset.
Preprocess the dataset by handling missing values and encoding categorical variables.
Split the dataset into training and testing sets.
Train the Decision Tree model on the training set.
Evaluate the model's performance on the testing set using metrics like accuracy or F1 score.
Q47. What do you know abt rate limiting
Rate limiting is a technique used to control the number of requests or actions a user or system can perform within a certain time frame.
Rate limiting helps prevent abuse, protect resources, and ensure fair usage.
It sets limits on the number of requests or actions allowed per user, IP address, or API key.
Rate limits can be defined based on time intervals, such as requests per second, minute, or hour.
When the limit is reached, further requests may be denied, delayed, or throttl...read more
Q48. Design Snake Game (Nokia based)
Design a classic Snake game based on Nokia phones.
Use a 2D array to represent the game board.
Implement logic for snake movement and growth.
Include collision detection with walls and itself.
Add food items for the snake to eat and grow.
Display the game on a grid-based interface.
Q49. What is encapsulation
Encapsulation is the concept of bundling data and methods that operate on the data into a single unit, known as a class.
Encapsulation helps in hiding the internal state of an object and restricting access to it.
It allows for better control over the data by preventing direct modification from outside the class.
Access to the data is provided through methods, which can enforce validation rules and ensure data integrity.
Example: In a class representing a bank account, the balance...read more
Q50. Solution designs at my current job
I have extensive experience in creating solution designs at my current job.
I have led multiple cross-functional teams to develop innovative solutions
I have a strong background in analyzing requirements and translating them into technical designs
I have successfully implemented various solutions to improve efficiency and productivity
I have experience in presenting and defending solution designs to stakeholders
Q51. What is JVM and JDK ?
JVM stands for Java Virtual Machine, which is a virtual machine that enables a computer to run Java programs. JDK stands for Java Development Kit, which is a software development kit used to develop Java applications.
JVM is responsible for executing Java bytecode and translating it into machine code.
JDK includes tools for developing, debugging, and monitoring Java applications.
JDK contains JRE (Java Runtime Environment) which includes JVM, libraries, and other necessary compo...read more
Q52. Strong consistency vs eventual consistency
Strong consistency ensures that all replicas of data are updated synchronously, while eventual consistency allows for temporary inconsistencies.
Strong consistency guarantees that all clients see the same data at the same time.
Eventual consistency allows for temporary inconsistencies but eventually all replicas will converge to the same state.
Strong consistency is often used in systems where data integrity is critical, such as financial transactions.
Eventual consistency is com...read more
Q53. calculate the size of the file system
Calculating the size of a file system
Determine the total size of all files and directories within the file system
Include the size of all subdirectories and their contents
Consider the size of metadata and file system overhead
Use appropriate tools or commands to gather the necessary information
Q54. What isinheritance
Inheritance is a mechanism in object-oriented programming where a class inherits properties and behaviors from another class.
Allows a class to inherit attributes and methods from another class
Promotes code reusability and reduces redundancy
Creates a parent-child relationship between classes
Example: Class 'Car' can inherit from class 'Vehicle' and inherit properties like 'speed' and methods like 'drive()'
Q55. What is polymorphism
Polymorphism is the ability of a single function or method to operate on different types of data.
Polymorphism allows objects of different classes to be treated as objects of a common superclass.
There are two types of polymorphism: compile-time (method overloading) and runtime (method overriding).
Example: Animal superclass with Dog and Cat subclasses. Both Dog and Cat can be treated as Animals.
Q56. What is abstraction
Abstraction is the concept of hiding complex implementation details and showing only the necessary features to the user.
Abstraction allows developers to focus on what an object does rather than how it does it
It helps in reducing complexity and improving code readability
Example: In Java, abstract classes and interfaces are used to achieve abstraction
Q57. Simple DSA problem of DFS and BFS
DFS and BFS are fundamental graph traversal algorithms used to explore nodes in a graph.
DFS (Depth First Search) explores as far as possible along each branch before backtracking. It uses a stack to keep track of nodes.
BFS (Breadth First Search) explores all the neighbor nodes at the present depth prior to moving on to the nodes at the next depth. It uses a queue to keep track of nodes.
Example: For a graph with nodes A, B, C, D and edges (A, B), (A, C), (B, D), DFS would visi...read more
Q58. What is heap memory ?
Heap memory is a region of a computer's memory that is used for dynamic memory allocation.
Heap memory is allocated at runtime and can be accessed randomly.
It is used for storing objects and data structures that need to be dynamically allocated and deallocated.
Heap memory is managed by the programmer and not automatically by the system.
Examples of heap memory usage include creating objects in Java using the 'new' keyword or allocating memory using malloc() in C.
Q59. How is ur ur culture
Our culture is collaborative, innovative, and inclusive.
We prioritize teamwork and encourage open communication.
We value creativity and encourage employees to share their ideas.
We strive to create a welcoming and diverse environment for all employees.
We prioritize work-life balance and offer flexible schedules and remote work options.
We prioritize professional development and offer opportunities for growth and learning.
Q60. Create a feature flag component
Feature flag component to control feature toggling in the application
Create a component that accepts a feature flag name as prop
Check if the feature flag is enabled or disabled
Render the component content based on the feature flag status
Q61. 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.
Q62. Longest increasing subsequence
Find the longest increasing subsequence in an array
Use dynamic programming to solve this problem
Iterate through the array and keep track of the longest increasing subsequence ending at each index
Time complexity can be optimized to O(n log n) using binary search
Q63. update query in sql
An update query in SQL is used to modify existing records in a database.
Use the UPDATE keyword followed by the table name
Set the column(s) to be updated using SET
Specify the new values for the columns
Add a WHERE clause to specify which records to update
Q64. Give examples around values
Values are principles or beliefs that guide behavior and decision-making.
Values can include honesty, integrity, respect, and teamwork.
An example of values in action is a company prioritizing transparency in communication with employees.
Another example is an individual choosing to speak up against unethical behavior in the workplace.
Values can also be demonstrated through actions such as volunteering in the community or supporting diversity and inclusion initiatives.
Q65. Design and implement snake game
Snake game involves controlling a snake to eat food and grow in size without hitting walls or itself.
Create a grid system to represent the game board
Implement logic for snake movement and growth
Generate food randomly on the board for the snake to eat
Handle collision detection for walls and snake body
Keep track of score and game over conditions
Q66. System design for tagging system
Design a system for tagging system
Consider scalability and performance requirements
Use a unique identifier for each tag
Implement a search functionality for tags
Ensure data consistency and integrity
Consider security measures to prevent unauthorized access
Q67. 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.
Q68. Importance of rest api
REST API is important for enabling communication between different systems and allowing them to exchange data and functionality.
REST API allows systems to communicate and exchange data in a standardized and scalable manner.
It enables integration between different applications and platforms, facilitating interoperability.
REST API simplifies the development process by providing a uniform interface for accessing and manipulating resources.
It promotes loose coupling between syste...read more
Q69. Troubleshoot with Har file
Troubleshooting with Har file involves analyzing network traffic and identifying issues.
Use a tool like Chrome Developer Tools or Fiddler to generate a Har file
Open the Har file in a Har viewer to analyze the network requests and responses
Look for errors, slow response times, or missing resources
Check for DNS resolution issues, network connectivity problems, or server-side errors
Compare the Har file with expected behavior or known good requests
Use the information from the Har...read more
Q70. Design Tagging System
Design a tagging system for organizing and categorizing data.
Consider the types of data to be tagged (e.g. text, images, videos)
Create a standardized set of tags and categories
Allow for multiple tags to be assigned to each piece of data
Implement a search function based on tags
Consider implementing a hierarchy of tags for more complex categorization
Q71. Design Snake game
Snake game is a classic arcade game where a player controls a snake to eat food and grow longer while avoiding collisions with walls and itself.
Create a grid-based game board where the snake can move in four directions (up, down, left, right)
Generate food randomly on the board for the snake to eat and grow in length
Implement collision detection to check if the snake hits the walls or itself
Update the game state continuously based on user input and game logic
Keep track of the ...read more
Q72. Design a web crawler
Design a web crawler to fetch and index web pages
Start by defining the scope of the crawler (e.g. which websites to crawl)
Implement a system to fetch web pages using HTTP requests
Parse the HTML content to extract relevant information (e.g. links, text)
Store the extracted data in a database or index for later retrieval
Implement a scheduling mechanism to prioritize and manage the crawling process
Q73. Favorite product
My favorite product is the iPhone because of its sleek design, user-friendly interface, and seamless integration with other Apple products.
Sleek design
User-friendly interface
Seamless integration with other Apple products
More about working at Atlassian
Top HR Questions asked in MIT School of Distance Education
Interview Process at MIT School of Distance Education
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month