Tip 1 : Practice Hard DSA coding problems. Specially Dynamic Programming, Graphs, Trees, Greedy, Trie.
Tip 2 : Work on at least 2 meaningful projects, which have a good backend design, choose a meaningful tech stack, and should have reasons to choose. Mention some numerical data/matrix of your project.
Tip 3 : Practice the low-level designs.
Tip 4 : Make a good grip on CS fundamentals (OOP, DBMS, OS, CN)
Tip 5 : In the Interview maintain good communication, show them your thinking process and take feedback on your solution.
Tip 6 : Discuss your solution first, discuss all the edge cases and take their feedback before jumping to implementation.
Tip 1 : Keep the resume simple. Provide all the necessary links (LinkedIn, GitHub, Coding Platforms). Show your best part first on top of the resume. Avoid unnecessary information like Address, Personal hobbies, etc.
Tip 2 : Mention some numerical data/matrix of your projects or the previous experience work.
Tip 3 : Keep the description short and easy to understand. Highlight the key points in the description.
It was an online test with 3 coding questions. The difficulty level was hard.



1) All codes are binary strings.
2) Each code should be able to determine its corresponding character uniquely.
3) The total numbers of bits used to represent the message are minimized.
If there are multiple sets of valid Huffman codes for a message. You can print any of them.
Consider the array ARR = [ 1, 4, 2 ] having 3 elements.
The array containing Huffman Codes for the above array will be [ '10', '0', '11' ]. Other Valid Huffman Codes are [ '01', '1', '00' ], [ '00', '1', '01' ] etc. Codes like [ '1', '0', '01' ], [ '1', '10' , '0' ] are some of the invalid Huffman Codes.
It was an online video call. The interviewer was very helpful, He helped me to solve the problem.


You don’t have to print anything, it has already been taken care of. Just implement the function.
The string will contain lowercase alphabets only.
Step 1 - I solved it using dynamic programming with O(N^3) complexity.
Step 2 - The interviewer asked me to optimize the solution.
Step 3 - Then I optimized it to O(N^2) and the interviewer was happy.



Strings ‘STR’ and ‘PTR’ consist only of English uppercases.
Length of string ‘STR’ will always be greater than or equal to the length of string ‘PTR’.
The index is ‘0’ based.
In case, there is no anagram substring then return an empty sequence.
For example, the given ‘STR’ is ‘BACDGABCD’ and ‘PTR’ is ‘ABCD’. Indices are given
0-3 in ‘STR’ index 0,1,2,3 are ‘BACD’ and it is an anagram with ‘ABCD’
1-4 in ‘STR’ index 1,2,3,4 are ‘ACDG’ and it is not anagram with ‘ABCD’
2-5 in ‘STR’ index 2,3,4,5 are ‘CDGA’ and it is not anagram with ‘ABCD’
3-6 in ‘STR’ index 3,4,5,6 are ‘DGAB’ and it is not anagram with ‘ABCD’
4-7 in ‘STR’ index 4,5,6,7 are ‘GABC’ and it is not anagram with ‘ABCD’
5-8 in ‘STR’ index 5,6,7,8 are ‘ABCD’ and it is an anagram with ‘ABCD’
Hence there are 2 starting indices of substrings in the string ‘STR’ that are anagram with given ‘PTR’ which are index 0 and 5.
Step 1 : I was able to solve it using greedy and bit masking.
Step 2 : Then as a 2nd part Interviewer asked me to find the lexicographically minimum anagram.
Step 3 : I gave a solution with a greedy approach and interviewer was happy.
It was a cs fundamental and low-level system design round.



Merge Sort Algorithm -
Merge sort is a Divide and Conquer based Algorithm. It divides the input array into two-parts, until the size of the input array is not ‘1’. In the return part, it will merge two sorted arrays a return a whole merged sorted array.

The above illustrates shows how merge sort works.
It is compulsory to use the ‘Merge Sort’ algorithm.

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?