Tip 1: Tekion is a product-based company that primarily uses Spring Boot for its backend. So, good knowledge of Spring Boot would be an added advantage.
Tip 2: Showcase a couple of your projects and don't forget to document them properly.
Tip 3: Learn the basics of System Design.
Tip 1: Highlight your projects, and if possible, add a Spring Boot project.
Tip 2: Mention technologies related to Java and Spring Boot.
It was scheduled in the morning as the first thing on Day 1 of our placement fee drive.



Given an array of intervals where intervals[i] = [starti, endi], merge all overlapping intervals, and return an array of the non-overlapping intervals that cover all the intervals in the input.
Example 1:
Input: intervals = [[1,3],[2,6],[8,10],[15,18]]
Output: [[1,6],[8,10],[15,18]]
Explanation: Since intervals [1,3] and [2,6] overlap, merge them into [1,6].
Example 2:
Input: intervals = [[1,4],[4,5]]
Output: [[1,5]]
Explanation: Intervals [1,4] and [4,5] are considered overlapping.
Constraints:
1 <= intervals.length <= 104
intervals[i].length == 2
0 <= starti <= endi <= 104
1. First, sort the intervals based on their starting points. This helps identify and merge overlapping intervals.
2. Use a priority queue to compare intervals. If the next interval starts before the previous interval ends, merge them into one by taking the minimum of the start values and the maximum of the end values.
3. If the intervals do not overlap, keep the previous interval as is and move on to the next.
4. Continue merging intervals until there are no more intervals left to compare, and collect the result.
5. Finally, return the merged non-overlapping intervals.



Given an array nums of n integers, return an array of all the unique quadruplets [nums[a], nums[b], nums[c], nums[d]] such that:
0 <= a, b, c, d < n
a, b, c, and d are distinct.
nums[a] + nums[b] + nums[c] + nums[d] == target
You may return the answer in any order.
Example 1:
Input: nums = [1,0,-1,0,-2,2], target = 0
Output: [[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1]]
Example 2:
Input: nums = [2,2,2,2,2], target = 8
Output: [[2,2,2,2]]
Constraints:
1 <= nums.length <= 200
-109 <= nums[i] <= 109
-109 <= target <= 109
1. First, sort the input array nums. Sorting helps avoid duplicate quadruplets and efficiently applies the two-pointer approach.
2. Iterate through the array with two nested loops for a and b while avoiding duplicates by checking if the current element equals the previous one.
3. For each combination of a and b, use two pointers (start and end) to find pairs [nums[start], nums[end]]such that their sum, along with nums[a] and nums[b], equals the target.
4. If the sum matches the target, add the quadruplet to the result list. If the sum is less than the target, the increment starts, and if the sum is greater than the target, the decrement ends.
5. Continue this process while avoiding duplicates for start and end values to ensure unique quadruplets.
6. Return the list of unique quadruplets.
It was face to face coding round of 1 hour. There was one interviewer and as it was in covid era, the interview was scheduled on Google Meet.



There is an integer array nums sorted in ascending order (with distinct values).
Prior to being passed to your function, nums is possibly rotated at an unknown pivot index k (1 <= k < nums.length) such that the resulting array is [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]] (0-indexed). For example, [0,1,2,4,5,6,7] might be rotated at pivot index 3 and become [4,5,6,7,0,1,2].
Given the array nums after the possible rotation and an integer target, return the index of the target if it is in nums, or -1 if it is not in nums.
You must write an algorithm with O(log n) runtime complexity.
Example 1:
Input: nums = [4,5,6,7,0,1,2], target = 0
Output: 4
Example 2:
Input: nums = [4,5,6,7,0,1,2], target = 3
Output: -1
Example 3:
Input: nums = [1], target = 0
Output: -1
Constraints:
1 <= nums.length <= 5000
-104 <= nums[i] <= 104
All values of nums are unique.
nums is an ascending array that is possibly rotated.
-104 <= target <= 104
1. Use binary search to maintain the O(log n) time complexity.
2. Start with two pointers, low and high, to represent the search range. Calculate the middle element mid.
3. Check if the target is equal to nums[mid]. If so, return the index.
4. Determine which half of the array is sorted:
1. If the left half is sorted (i.e., nums[low] <= nums[mid]), check if the target lies within this sorted range. If it does, discard the right half by updating high. Otherwise, search for the right half by updating low.
2. If the right half is sorted, apply a similar logic to check if the target lies in that sorted range.
Continue the process until the target is found or the search range is exhausted.



Given an integer array nums and an integer k, return the k most frequent elements. You may return the answer in any order.
Example 1:
Input: nums = [1,1,1,2,2,3], k = 2
Output: [1,2]
Example 2:
Input: nums = [1], k = 1
Output: [1]
Constraints:
1 <= nums.length <= 105
-104 <= nums[i] <= 104
k is in the range [1, the number of unique elements in the array].
It is guaranteed that the answer is unique.
Follow up: Your algorithm's time complexity must be better than O(n log n), where n is the array's size.
1. Count the frequency of each element in the array using a hash map or Counter.
2. Store each element with its frequency in a max-heap (with frequency as the key).
3. Extract the top k elements from the heap by popping the highest frequency elements.
4. Return the resulting k most frequent elements.
It was face to face coding round of 1 hour. There was one interviewer and as it was in covid era, the interview was scheduled on Google Meet.
Difference between Process and Thread. (Learn)
Tip 1: Explain well what is Process and Thread
Tip 2: Explain with examples.
What is the ACID property and it's applicable in which type of database (relational or non-relational)? (Learn)
Tip 1: Use examples to illustrate every letter of ACID
Tip 2: Use real-life scenarios to explain use cases
Tip 3: Discussion can be extended to transactional operations as well
There are 1000 wine bottles. One of the bottles contains poisoned wine. A rat dies after one hour of drinking the poisoned wine. How many minimum rats are needed to figure out which bottle contains poison in an hour?
Tip 1: Dry run the problem
Tip 2: Don't rush to the solution even if you are aware of the approach.



Given an input string s, reverse the order of the words.
A word is defined as a sequence of non-space characters. The words in s will be separated by at least one space.
Return a string of the words in reverse order concatenated by a single space.
Note that s may contain leading or trailing spaces or multiple spaces between two words. The returned string should only have a single space separating the words. Do not include any extra spaces.
Example 1:
Input: s = "the sky is blue"
Output: "blue is sky the"
Example 2:
Input: s = " hello world "
Output: "world hello"
Explanation: Your reversed string should not contain leading or trailing spaces.
Example 3:
Input: s = "a good example"
Output: "example good a"
Explanation: You need to reduce multiple spaces between two words to a single space in the reversed string.
Constraints:
1 <= s.length <= 104
s contains English letters (upper-case and lower-case), digits, and spaces ' '.
There is at least one word in s.
Follow-up: If the string data type is mutable in your language, can you solve it in-place with O(1) extra space?
1. Trim the input string to remove leading and trailing spaces.
2. Split the string by spaces, which gives an array of words.
3. Reverse the order of the words and join them back with a single space.
4. Return the resulting string
It was face to face coding round of 1 hour. There was one interviewer and as it was in covid era, interview was scheduled on Google Meet.
It was a hiring manager round. My interviewer was the Senior Manager of Tekion. He mostly discussed my projects and past internship experiences.
Tip 1: Prepare for questions that can be asked based on your resume.
Tip 2: Follow the STAR pattern while describing your project or your contribution
He tried to understand my interests and asked a couple of behavioural questions.
Tip 1:Try to go through the most common behavioural questions.
Explain the four pillars of OOPS. (Learn)
Tip 1: Use real-life examples to explain each pillar of OOPS.
Tip 2: Tell the advantages of each pillar.

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?