1) Master the Fundamentals: Ensure you have a strong foundation in computer science concepts such as data structures, algorithms, object-oriented programming, and system design. This forms the backbone of your technical skills.
2) Learn Multiple Programming Languages: While it's essential to be proficient in at least one programming language, familiarize yourself with multiple languages, as each has its strengths and use cases.
3) Build Projects: Practice by working on real-world projects. Building applications, websites, or contributing to open-source projects will help you apply your knowledge and gain valuable experience.
4) Stay Updated: The tech industry evolves rapidly. Keep yourself updated with the latest technologies, programming languages, frameworks, and tools.
5) Code Review and Collaboration: Participate in code reviews and collaborate with other developers. This helps you learn from others, improve your coding skills, and understand different perspectives.
1) Clear and Concise Format: Keep your resume clean, well-organized, and easy to read. Use a professional font, appropriate headings, and bullet points to present information clearly.
2) Tailor Your Resume: Customize your resume for each job application. Highlight relevant skills, experiences, and accomplishments that align with the specific job requirements.
3) Use Keywords: Many employers use applicant tracking systems (ATS) to screen resumes. Incorporate relevant keywords from the job description to increase the chances of your resume getting noticed.
It was in the afternoon time around 2 pm



1. Horizontally as 1x2 tile
2. Vertically as 2x1 tile
The number of ways might be large so output your answer modulo 10^9 + 7.

I have done this problem earlier so got the DP based approach during the test and this approach passed all the test cases.



Example: String "aabbbcdcdcd" will be encrypted as "a2b3cd3".
Input string will always be lowercase characters without any spaces.
If the count of a substring is 1 then also it will be followed by Integer '1'.
Example: "aabcdee" will be Encrypted as "a2bcd1e2"
This means it's guaranteed that each substring is followed by some Integer.
Also, the frequency of encrypted substring can be of more than one digit. For example, in "ab12c3", ab is repeated 12 times. No leading 0 is present in the frequency of substring.
The frequency of a repeated substring can also be in parts.
Example: "aaaabbbb" can also have "a2a2b3b1" as Encrypted String.
I simply decrypt the string by reading substrings and their frequencies, appending each current substring to the decrypted string, and after traversing the given string, our answer will be the kth element of the decrypted string.



The pair consists of equal absolute values, one being positive and another negative.
Return an empty array, if no such pair exists.
I asked for some clarifications on whether I should print all distinct x's or if I should print an x when a pair of +x and -x is encountered. The first approach I suggested was to use a map, where I would keep a flag for +x and -x if they were found once. Later, he asked me to print all pairs, so I stored the frequencies of all the elements in the map and iterated through the negative elements. For each element x, I would print x a minimum of min(count[-x], count[+x]) times. He said he couldn’t afford that much space and wanted me to optimize the space further. So, I suggested a two-pointer approach where I sort the array once and then keep two pointers at the start and end. I would move the start pointer forward if the sum was less than 0 and move the end pointer backward if the sum was greater than 0. He was fine with the solution and asked me to code it on paper. I wrote the code and walked him through it.
1. Difference between threads and processes.(Learn)
2. Deadlocks and their prevention.(Learn Deadlocks)(Learn Deadlock Prevention)
Tip 1: This is the most basic question of OS, and I explained it very well using a tabular representation.
Tip 2: I first told him about the necessary conditions for deadlock and then explained to him that if we don’t let all conditions be fulfilled for deadlock, it can be prevented.
Tip 3: I wrote a class to implement a character Trie using a vector of nodes as children. He asked me to improve on space, so I used a hashmap to store the child nodes only if necessary.



Operation 1 - insert(word) - To insert a string WORD in the Trie.
Operation 2- search(word) - To check if a string WORD is present in Trie or not.
Operation 3- startsWith(word) - To check if there is a string that has the prefix WORD.

The above figure is the representation of a Trie. New words that are added are inserted as the children of the root node.
Alphabets are added in the top to bottom fashion in parent to children hierarchy. Alphabets that are highlighted with blue circles are the end nodes that mark the ending of a word in the Trie.
Type = ["insert", "search"], Query = ["coding", "coding].
We return ["null", "true"] as coding is present in the trie after 1st operation.
Trie is a data structure that is organized like a tree. It consists of nodes that store letters or alphabets of words, which can be added, retrieved, and deleted from the trie very efficiently.



Input: ‘N’ = 4, ‘arr’ = [3, 1, 2, 4], 'K' = 6
Output: 2
Explanation: The subarrays that sum up to '6' are: [3, 1, 2], and [2, 4].
Your task is to find the total number of subarrays of the given array whose sum of elements is equal to k.



Create a frequency array `freq` to count the number of occurrences of each task.
Sort the `freq` array in ascending order.
Calculate the maximum frequency `maxFreq` of any task.
Calculate the number of idle slots `idleSlots` required by the most frequent task, which is equal to `(maxFreq - 1) * n`.
Iterate over the remaining tasks in descending order of frequency and subtract the minimum of `maxFreq` and the frequency of the task from `idleSlots`.
If `idleSlots` is still positive, add it to the length of the input task list `tasks`. Otherwise, return `tasks.size()`.

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