Tip 1 : Must do Previously asked Interviews Questions.
Tip 2 : Prepare OS, DBMS, OOPs, Computer Networks well.
Tip 3 : Prepare well for one project mentioned in the resume, the interviewer may ask any question related to the project, especially about the networking part of the project.
Tip 1 : Have at least 2 good projects mentioned in your resume with a link
Tip 2 : Focus on skills, internships, projects, and experiences.
Tip 3 : Make it simple, crisp, and one page
This was an online test held on the hackerearth platform. The test consists of two coding questions with test duration of 90 Mins.



You may make as many transactions as you want but can not have more than one transaction at a time i.e, if you have the stock, you need to sell it first, and then only you can buy it again.
Solution in Java
class Solution {
public int maxProfit(int[] prices) {
int bd = 0;
int sd = 0;
int profit = 0;
for(int i=1; i= prices[i-1]){
sd++;
} else{
profit += prices[sd] - prices[bd];
bd = sd = i;
}
}
profit += prices[sd] - prices[bd];
return profit;
}
}



1)The amount of petrol that is available at this particular petrol pump.
2)The distance to reach the next petrol pump.
public int canCompleteCircuit(int[] gas, int[] cost) {
int n = gas.length;
int curr = 0;
int start = 0;
for (int i = 0; i < 2 * n; i++) {
if (i == start + n) {
return start;
}
int index = i % n;
curr = curr + gas[index] - cost[index];
if (curr < 0) {
start = i + 1;
curr = 0;
}
}
return -1;
}
This was first technical round based on problem solving skills and my coding ability. The interviewer was very friendly and helped my whenever I strucked.
We write code on google docs in this round on the screen share




C++ solution with O(n) time-complexity & O(1) Space.
class Solution {
public:
int numDecodings(string s) {
if(s[0]=='0')
return 0;
const int n = s.size();
// two integer to store current ways
int last_is_single_digit = 1, last_is_double_digit = 0, tmp;
for(int i=1; i tmp = last_is_single_digit;
if(s[i]=='0')
last_is_single_digit = 0; //If s[i] is 0, it must be decode as a double digit
else
last_is_single_digit += last_is_double_digit;
if(s[i-1] != '0' && (s[i-1] - '0') * 10 + (s[i] - '0') < 27)
last_is_double_digit = tmp; //If s[i-1] & s[i] can be decode to a char
else
last_is_double_digit = 0;
}
return last_is_single_digit + last_is_double_digit;
}
};



Consider the array be 1,6,4,6,2,4,2
The integers 2, 4, 6 occur twice and only the integer 1 occurs once.
Code (C++)
class Solution {
public:
int singleNumber(vector& arr) {
int n = arr.size(); // taking the size of the array
unordered_map mp; // unordered map to store the frequency
// storing frequency in the map
for(int i = 0; i < n; i++)
{
mp[arr[i]]++;
}
int ans; // variable to store our answer
for(auto x: mp) // traverse from the map
{
if(x.second == 1) //if frequency of any elemennt is 1
{
ans = x.first; // store in our answer
break; // break the loop, as we got our answer now
}
}
return ans; // return ans
}
};
This was technical + HR round taken by the senior manager from atlassian. Interviewer started with his introduction then asked my introduce myself.
He asked hard problem and wanted me to give multiple solutions and improve the time complexity.
After solving coding questions there were some HR round questions.



1. Buying a stock and then selling it is called one transaction.
2. You are not allowed to do multiple transactions at the same time. This means you have to sell the stock before buying it again.
Input: ‘n’ = 7, ‘prices’ = [3, 3, 5, 0, 3, 1, 4].
Output: 6
Explanation:
The maximum profit can be earned by:
Transaction 1: Buying the stock on day 4 (price 0) and then selling it on day 5 (price 3).
Transaction 2: Buying the stock on day 6 (price 1) and then selling it on day 6 (price 4).
Total profit earned will be (3 - 0) + ( 4 - 1) = 6.
Solution in C++
int maxProfit(vector& prices) {
int n = prices.size();
// vector>>dp(n+1, vector>(2, vector(3, 0)));
// return f(0, 1, 0, prices, n, dp);
vector>next(2, vector(3, 0)), cur(2, vector(3, 0));
for(int i=n-1; i>=0; i--) {
for(int buy = 0; buy<2; buy++) {
for(int t=1; t>=0; t--) {
int profit = 0;
if(buy) {
profit = max(-prices[i] + next[0][t], next[1][t]);
}
else
profit = max(prices[i] + next[1][t+1], next[0][t]);
cur[buy][t]=profit;
}
}
next = cur;
}
return next[1][0];
}
why should we hire you?
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.
Will you work for us if you got another offer google
How will you resolve conflict with your manager
Tip 1 : Make sure your resume is up-to-date
Tip 2 : Be confident and focus on your communication
Tip 3 : Prepare for the behavioral questions

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?