Tip 1 : Do at least 2-3 Development Projects as it creates a great impression.
Tip 2 : Do it simply don't include complex terms to explain anything/concept.
Tip 3 : Practice as many questions as you can.
Tip 1 : Resume should be one page only as being a fresher impacts a lot.
Tip 2 : Resumes should contain all the links for projects and certificates as it impresses the interviewer.
It has 3 Coding Questions of medium-hard level and the time limit was 1 hour only. I don’t exactly remember the questions but I was able to do only two of them completely.



Let's say the given array is [ 9, 98, 7].
All the possible numbers formed by concatenating each of the array elements are 7989,7998,9879,9897,9987,9798. Among the six numbers, 9987 is the greatest number. Hence the answer is 9987.
Using the inbuilt library of Python, itertools library can be used to perform this task.



Input: ‘n’ = 5, ‘arr’ = [50, 3, 90, 60, 80].
Output: 2
Explanation:
In this array, the longest increasing subsequences are [50, 60, 80] and [3, 60, 80].
There are other increasing subsequences as well, but we need the number of the longest ones. Hence the answer is 2.
Querying the length of the longest is fairly easy. Note that we are dealing with end elements only. We need not maintain all the lists. We can store the end elements in an array. Discarding operation can be simulated with replacement, and extending a list is analogous to adding more elements to the array.
We will use an auxiliary array to keep end elements. The maximum length of this array is that of input. In the worst case the array is divided into N lists of size one (note that it doesn’t lead to worst-case complexity). To discard an element, we will trace ceil value of A[i] in the auxiliary array (again observe the end elements in your rough work), and replace ceil value with A[i]. We extend a list by adding elements to the auxiliary array. We also maintain a counter to keep track of auxiliary array length.
First, the interviewer introduced himself and then asked to introduce myself. Then he asked about the projects I did. After an introductory discussion on projects, he gave me 3 coding questions on their personal live code environment.
He asked me to explain the approach first and then code it down. I had to explain the time complexity of each solution and optimal code if possible with lesser time complexity.


If the element with a particular ‘U_ID’ already exists in cache:
- Update its mapped value with ‘VAL’.
If it does not exist and the cache is not full then
- Simply insert this element.
If it does not exist and the cache is already full then
- We remove an element and insert this element into the cache. The element to be removed is selected as the least frequently used element.
1) The frequency of use of an element is calculated by a number of operations with its ‘U_ID’ performed after it is inserted in the cache.
2) If multiple elements have the least frequency then we remove the element which was least recently used.
If present in cache otherwise return -1.
We perform the following operations on an empty cache which has capacity 2:
When operation 1 2 3 is performed, the element with 'U_ID' 2 and value 3 is inserted in the cache.
When operation 1 2 1 is performed, the element with 'U_ID' 2’s value is updated to 1.
When operation 2 2 is performed then value of 'U_ID' 2 is returned i.e. 1.
When operation 2 1 is performed then the value of 'U_ID' 1 is to be returned but it is not present in cache therefore -1 is returned.
When operation 1 1 5 is performed, the element with 'U_ID' 1 and value 5 is inserted in the cache.
When operation 1 6 4 is performed, the cache is full so we need to delete an element.First, we check the number of times each element is used. Element with 'U_ID' 2 is used 3 times (2 times operation of type 1 and 1-time operation of type 1). Element with 'U_ID' 1 is used 1 time (1-time operation of type 1). So element with 'U_ID' 1 is deleted. The element with 'U_ID' 6 and value 4 is inserted in the cache.




If S = “34”, then all the possible letters that can be formed from string S are {“dg”, “dh”, “di”, “eg”, “eh”, “ei”, “fg”, “fh”, “fi”}.
I explained to him the logic of my approach and he seems satisfied with it. It was sort of medium-level difficulty.



You can assume that the words are unique. It means that it is always possible to find a unique prefix for each word.
I gave him a brute force approach with which he was not satisfied. Then he gave me time to think and asked for more optimized approach. Then after 5 min i gave him this Trie solution and then i explained him the structure of trie along with the code
In this round interviewer gave me 2 coding questions and asked me to code on any editor of my choice. I opened VS code to code those problems.



Input: 'arr' = [1, 2, 7, -4, 3, 2, -10, 9, 1]
Output: 11
Explanation: The subarray yielding the maximum sum is [1, 2, 7, -4, 3, 2].
I explained to him my approach (Kadane’s algorithm) and he seems satisfied with it and asked to code it down.



1. get(key) - Return the value of the key if the key exists in the cache, otherwise return -1.
2. put(key, value), Insert the value in the cache if the key is not already present or update the value of the given key if the key is already present. When the cache reaches its capacity, it should invalidate the least recently used item before inserting the new item.
Type 0: for get(key) operation.
Type 1: for put(key, value) operation.
1. The cache is initialized with a capacity (the maximum number of unique keys it can hold at a time).
2. Access to an item or key is defined as a get or a put operation on the key. The least recently used key is the one with the oldest access time.
I gave him a brute force solution but the interviewer was not satisfied. I was stuck for some time, then he helped me with data structure (doubly linked list). After 15-20 min of discussion, I was able to do that question and code it down.
The interviewer was very friendly. He asked me about myself and previous interviews.
He jumped on my projects. I explained to him and answered all the follow-up questions
After sharing the link to the 1MG website and asked me to design DB for it. He gave me 5-10 min to think and design DB.
Finally, in the end, he asked me standard HR-type questions like where do you see yourself in 2 years, a startup with 2X salary or a stable company with X salary, why you want to join us, etc.
Tip 1 : Listen to the question carefully and clear all your doubts at the same time before proceeding to a solution.
Tip 2 : Even If you are stuck, discuss your thinking process with the interviewer. They can help you with some hints.
Tip 3 : Prepare HR questions before coming to interviews.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?