Tip 1: OOP is a common topic found in all past experiences shared on the internet, so I would suggest having a clear understanding of it.
Tip 2: Try coding in Java to gain familiarity with Java syntax and its various core APIs/libraries.
Tip 3: Relational DBMS knowledge is essential when preparing for companies that make extensive use of relational databases.
Tip 1: Highlight your past internships.
Tip 2: Highlight your projects.
It was an online Hacker rank round of 120 mins. It was proctored.

You are given a list of numbers:
1456
345671
43218
123
Your task is to return a sorted list of all numbers that contain the digits 1, 2, and 3.
Example Output:
123, 43218
1. Sort the Input Array: Begin by sorting the list of numbers.
2. Iterate and Check: Loop through the sorted list, checking each number for the presence of the digits 1, 2, and 3.
3. Collect Valid Numbers: If a number contains all three digits (1, 2, and 3), add it to the output list.
4. Return the Result: Finally, return the sorted output list of numbers containing the digits 1, 2, and 3.
It was an online zoom round of 60 minutes. There was one interviewer on the call.



You are given an integer array of heights representing the heights of buildings, some bricks, and some ladders.
You start your journey from building 0 and move to the next building by possibly using bricks or ladders.
While moving from building i to building i+1 (0-indexed),
If the current building's height is greater than or equal to the next building's height, you do not need a ladder or bricks.
If the current building's height is less than the next building's height, you can either use one ladder or (h[i+1] - h[i]) bricks.
Return the furthest building index (0-indexed) you can reach if you use the given ladders and bricks optimally.
Input: heights = [4,2,7,6,9,14,12], bricks = 5, ladders = 1
Output: 4
Explanation: Starting at building 0, you can follow these steps:
- Go to building 1 without using ladders nor bricks since 4 >= 2.
- Go to building 2 using 5 bricks. You must use either bricks or ladders because 2 < 7.
- Go to building 3 without using ladders nor bricks since 7 >= 6.
- Go to building 4 using your only ladder. You must use either bricks or ladders because 6 < 9.
It is impossible to go beyond building 4 because you do not have any more bricks or ladders.
Example 2:
Input: heights = [4,12,2,7,3,18,20,3,19], bricks = 10, ladders = 2
Output: 7
Example 3:
Input: heights = [14,3,19,3], bricks = 17, ladders = 0
Output: 3
I used a priority queue to solve this question. The trick was to first use stairs to jump and maintain the lap height in the priority queue and whenever no of stairs left was less than zero, replace the highest lap with a ladder.



Given a list of non-negative integers nums, arrange them such that they form the largest number and return it.
Since the result may be very large, so you need to return a string instead of an integer.
Example 1:
Input: nums = [10,2]
Output: "210"
Example 2:
Input: nums = [3,30,34,5,9]
Output: "9534330"
Constraints:
1 <= nums.length <= 100
0 <= nums[i] <= 109
1. Create a string array numsStr to hold the string representations of the integers in the input array nums.
Use a for loop to iterate over each integer in nums and convert it to a string using String.valueOf(n), storing it in numsStr.
2. Sort the string array numsStr using a custom comparator LargeNumberComparator.
The comparator defines a custom sorting order by comparing two strings a and b. It does this by comparing the concatenated results of a+b and b+a in reverse order. This ensures that the combined number a+b is larger than b+a.
3. Initialize an empty string result.
4. Iterate over the sorted string array numsStr, appending each string to the result.
5. Return the Result:
It was an online Zoom round of 60 mins. It was proctored.
Difference between SQL and NoSQL databases. (Learn)
Tip 1: Define SQL and NoSQL and tell key differences.
Tip 2: Give examples of both of them.
Tip 3: Give real-world use cases of when to use what.
What are ACID properties? (Learn)
Tip 1: Define each letter in ACID.
Tip 2: Give an example of each letter.
Tip 3: Tell where is it used.
What is abstraction and encapsulation?
Tip 1: Define both the terms
Tip 2: Tell their benefits using an example
What is Dependency Injection?
Tip 1: Define the term with an example
Tip 2: Explain why is it necessary
Tip 3: touch on coupling
It was an online zoom round of 60 mins. Senior VP took this round
Tell me about the most recent project you have worked on or currently working on in your internship.
Tip 1: Explained business use case briefly
Tip 2: Explained how the system is working
Tip 3: Told about my contribution along with the tech stack used
How was your experience working on a hackathon project? What project did you build and what were the key takeaways?
Tip 1: Explained hackathon problem statement
Tip 2: Told about our solution approach and briefly explained the implementation
Tip 3: Explained a couple of takeaways with actual scenarios
What's the most difficult task you faced in that hackathon?
Tip 1: Explained a genuine scenario where our team was stuck for a day and how my insight helped the team resolve the blocker.
Why do you want to join GS?
Tip 1: Be truthful about what you are saying
Tip 2: There is no right or wrong answer to this question. So, whatever you are saying should be true and rational
It was a typical HR round of 30 mins on Zoom.
General HR 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?