Tip 1 : Focus more on the problem-solving part, i.e. Data Structures & Algorithms and coding skills.
Tip 2 : You should be comfortable with Leetcode medium-level questions.
Tip 3 : Basic system design should be enough, basics of HLD (High-Level Design) & LLD (Low-Level Design)
Tip 1 : Keep your resume one-pager, short, and concise. They will be more interested in your problem-solving skills.
Tip 2 : Do not include redundant projects in your resume. Do not write about skills you are not good at.
Tip 3 : Focus on your previous work experience in your resume. That is one section, from which you will be asked questions.
It was a coding round of a duration of 90 minutes hosted on HackerEarth. There were 3 coding questions.
Question-1 Maximum Score: 20
Question-2 Maximum Score: 50
Question-3 Maximum Score: 100
Total Maximum Score: 170
Timing: You can take the test at your convenience. A deadline of 4-5 days was mentioned for that.






A Subsequence of a string is the one which is generated by deleting 0 or more letters from the string and keeping the rest of the letters in the same order.



1) Every candidate in the paid group should be paid in the ratio of their skill compared to other candidates in the paid group.
2) The minimum salary expectation of every candidate in the paid group should be fulfilled.
Answers which are within the range 10^-6 of the correct answer will be considered correct.
It was an online interview round. The round was based on problem-solving and DSA (Data Structures & Algorithms).
Timing: 4:00 PM - 5:00 PM
Environment: Google Meet
Interviewer was an SDE-2 at ShareChat was very helpful.



• The left subtree of a node contains only nodes with data less than the node’s data.
• The right subtree of a node contains only nodes with data greater than the node’s data.
• Both the left and right subtrees must also be binary search trees.
'P' = 1, 'Q' = 3
tree = 2 1 4 -1 -1 3 -1 -1 -1,
The BST corresponding will be-

Here, we can clearly see that LCA of node 1 and node 3 is 2.
Approach:
Following is the simple approach for Least Common Ancestor for any number of nodes.
For every node calculate the matching number of nodes at that node and its sub-tree.
-> If root is also a matching node (matchingNodes = matchingNodes in left sub-tree + matchingNodes in right sub-tree + 1)
-> If root is not a matching node (matchingNodes = matchingNodes in left sub-tree + matchingNodes in right-subtree)
-> If matching Nodes count at any node is equal to number of keys then add that node into the Ancestors list.
-> The First node in the Ancestors List is the Least Common Ancestor of all the given keys.
This was the last hiring manager round.
Timing: 6:00 PM - 7:00 PM
Environment: Google meet
The interviewer was an Engineering Manager in ShareChat and was an experienced, guy.



Can you solve this in logarithmic time and space complexity?
Approach:
1. We can use hashing to hash the long URL into a short URL. That's one approach.
2. We can also create a short URL with just 7 characters, and lowercase English characters. Corresponding to every
long URL, we can generate a short URL of length 7 with 7 randomly chosen characters. Since (26^7) is very high,
so the chances of the collision are very low and there can be a large pool of long URLs for which you will be able to
create short URLs.

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