Atlassian Internship Guide
My experiences of applying to Atlassian's Intern Programme
Hi, I am Karthik Kashyap from EE23B, and here’s my blog explaining my experience with Atlassian’s Internship selection process as part of IITM’s Internship Season 2025.
Disclaimer: Due to the privacy statement that I signed while applying to Atlassian, I will not be able to reveal any questions that were asked during this process, be it either OA or the Interview. I will only be talking about the procedure and a few tips to follow in specific for Atlassian and for general Intern process.
The blog contains all the info about the selection process for Atlassian Software Engineer Intern and some tips and guidelines that I found useful during the process.
The selection process had 2 parts: Online Assessment and Interview.
Online Assessment
The OA consisted of 3 questions based on DSA, and there was 90 min to solve them. The OA was conducted on HackerRank online mode with Video and Tab-switch proctoring.
Atlassian cares about time taken to solve the problems, not just solving them. So your aim should be to solve all the problems AND also in as less time as possible. I solved all 3 questions and passed all test cases with 23 min to spare. I am not sure where the cutoff for shortlist was, but I am guessing that full solving or solving at least 2.5 questions was minimum for shortlist.
The questions were varying from person to person, possibly to prevent chances of copying due to it being an online exam. The difficulty of the questions ranged from Leetcode Easy to Hard.
All common languages were allowed, like C++, Python, PyPy, Java, etc. I used C++ for the test.
Interview
Atlassian takes 2 rounds of interviews: 1 Coding (Technical) Round and 1 Leadership and Values (HR) Round. Both the rounds were held online in Zoom platform. The interview could have been taken from hostel room or anywhere else (in the case of 2025 as apparently, there were too many companies and too few rooms to have one allotted to Atlassian). I took mine from CFI Terrace.
Coding Round
Lasted for 60 min, the interviewer asked me one question and asked to find the logic and code the problem. The IDE was left as a choice to the applicant. I had to share my full screen, write the code and also run it to make sure the code works.
Googling was allowed, but you could only search for code documentations, and such, and strictly not use AI, even that of google search AI or Gemini, as your entire screen is shared to the interviewer they will be able to check for this.
A few important things to note here:
- Here, finding the logic is the important part. Only after convincing the intervierewer of the logic can you move to coding it.
- In the coding part, it’s important to note that they check for clean, modular and streamlined code. Your code may work with just writing function definitions. But writing Classes makes it much more convenient and is better code, and this gets a better liking to the interviewer. Writing comments also helps.
- Do not worry about having wrong attempts. This attempt that I finally implemented was my third attempt at a solution. The interviewer wants to see the way you think, so it’s completely fine to make mistakes, but be sure to talk your mind out.
If you have time left, the interviewer asks for a continuation problem, which is similar to the same problem but with a slight modification.
Leadership and Values Round
Lasted for 40 min, the interview gave situation based questions and asked me to provide real life examples that I have encountered in college that best explains this, and explain how I handled it and the outcome of it all.
Atlassian cares a lot about it’s values a lot:
- Play, as a team
- Build with heart and balance
- Don’t #@!% the customer
- Open company no bullshit
- Be the change you seek
So to be able to get interns/exployees who match these values, they take the HR Interview pretty seriously.
I was asked 4 such situation based questions. All of them revolved around my involvement, my learning, my behaviour and my leaderships in the projects that I have worked on.
Though the questions they ask in this round seem to circle about examples you encounter during your projects, it’s totally fine to answer questions other than projects, they are totally okay with that. I myself answered 2 out of 4 examples outside of projects, and they were still happy to hear those. They just want to see how well you perform in a group talk, needn’t always be a project.
Think of a few such questions that might be asked to you, and prepare a few examples for them before the interview starts. That way you do not need to spend time thinking of one in a limited time interview. I did this, and it helped me a lot.
If you have no such example that fits your question, just tell them you don’t have one. DO NOT make up a story then and there. More often than not, instant cook up stories are always terrible and easy to catch. That is the whole point of this HR Interview. If people could cook up stories, then there would have been no need for such an interview.
My HR interview started 15 min after my coding interview, and it was supposed to take 30 min. But as I had elaborately mentioned details to each example (ahemhem, I mean I yapped a lot), it had to extend 10 min longer.
General Tips
This section is quite long, but please bear with me, I have jotted down some pretty important things that I learnt with my experience during this process, and that you can perhaps do better by knowing it beforehand.
- Software requires DSA knowledge. But most people concentrate on learning the language and getting to know Data Structures. But in my opinion the most important part of DSA is Algorithms. This is what distinguishes you from the others. DS is something you can learn while learning Algorithms.
- Learn not just how Algorithms work, but also WHY they work. Almost never do they ask in OAs or interviews to just code an algorithm. It’s always a variation of it. And the only way you can come up with this variation is if you truly know why the Algorithm works.
- Have practice of algoriths. I have seen people watch youtube tutorials like that of take U forward by Striver (which I absolutely recommend for DSA learning for beginners) and not actually work on solving problems. Trust me, you will not be able to remember the problem a few days later if you havent coded it up and experienced all the bugs and errors that you can get while implementing it.
- Practice of contests on Codeforces gives you a good experience of how an OA will be like. Do this just before going into OAs. In the case of Aptitude, practice Brainstellar. I am surpised by the amount of overusage of these problems.
- Leetcode is overhyped. Sure, you get to learn new methods and algorithms, but they are too generic, and the OAs will not have as general questions. You need to think a lot to get the logic, and you need to have practice at this, not just implement methods you learnt on LC. With this, I’m not saying Leetcode is useless, I’m only saying that this is not the only thing you need to prepare. Leetcode has such a massive expanse of problems that it’s hard to pick which ones are useful and which ones aren’t. The Top Interview 150 problemset on Leetcode is good enough for practice. It has covered several domains of DSA, and is enough for practice. If more practice is needed, you can instead switch over to Codeforces, as that is more oriented towards the OAs than Leetcode.
- Avoid ChatGPT. Just do it. You get work done, I’m not questoning that, but for Intern season, you will not be able to use it in the OAs, so you should be able to solve the problems without it. Some people use GPT for just writing the code when they give the logic, I would suggest against this too, because in the time crunch of the OA, you are expected to find the logic as well as write bug free code which is supposed to pass all the test cases. Without practice of programming, this will not happen magically in the middle of an OA. So for Intern practice alone, I suggest you to learn and code everything on your own.
- Learn from the algorithms and methods of questions you were not able to solve in an OA. The number of repeated questions in the sebsequent tests is surprisingly high (Companies generally choose problems from the HackerRank problem bank or BrainStellar for their OAs rather than make their own). You will feel very guilty for not solving the question you’ve already seen before.
- The OAs care more about speed than good code, so unless mentioned you just need to get a working code. In the Interview on the other hand, they care a lot about how well you write your code. For example take a code like this:
1
2
3
4
5
6
7
8
9
10
int f(vector<int> arr){
int m = 0;
for(auto i: arr) m = max(m, i);
return m;
}
int main(){
vector<int> arr = {1, 2, 3};
cout << f(arr) << endl;
}
You can get a working code with this, but they would much prefer if the code looks like this:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// class to store a stream of integers and get the maximum
class Stream{
private:
vector<int> arr;
public:
Stream(vector<int> &input): arr(input){} // Constructor
// Function to iterate through array and find max
int get_max() const {
if(arr.empty()) throw runtime_error("Empty Stream"); // Check for empty array.
int max_val = arr[0]; // Initiate to first element to count for negative elements
for(auto i: arr)
max_val = max(max_val, i);
return max_val;
}
};
int main(){
Stream st({1, 2, 3}); // Initialize class object
cout << st.get_max() << endl;
}
Sure, this way the code is much longer (in fact, twice as much) and seems unnecessary, but it’s way easier for someone other than you to understand the second code rather than the first. Also take care of as many edge cases as you can find.
Lastly I would like to mention that you may not always get the Intern that you wanted. Don’t let this depress you in any way, this is just an Intern, not a placement. There’s lots of companies, no need to depress yourself over one of them. It will not be the end of the world. I’m saying this because I was of this opinion when it did happen to me in Day 1.1, but now in retrospect I am happier this way that I was able to get Atlassian only because I got rejected by the companies in Day 1.1.
Some companies do not care much about the Test performance or the Interview performance either (Thankfully, Atlassian is not one of them). Sad to say, but this is how reality is and we need to face it that way.
Thank you for reading so far, I had fun writing this blog. In the end I was happy to get Atlassian, and I hope you too get the company of your wish, and I wish you all the best for it.
— Karthik Kashyap