Tip 1 : Practice a sufficient number of questions on critical topics such as trees, linked lists, arrays, and strings of medium difficulty level or higher. This will aid in strengthening your understanding of these essential concepts and enhance your problem-solving abilities.
Tip 2 : Please prepare at least two projects in either Android or web development, demonstrating your comprehensive understanding of the necessary skills required to create challenging and innovative projects. Avoid copying projects from GitHub or creating projects that are too simplistic. Instead, select topics that showcase your expertise and creativity.
Tip 3 : Don't forget to brush up on your core subjects and study all fundamental concepts from subjects such as operating systems, computer networks, and database management systems.
Tip 1: Highlight your internship experience: As a fresher, your internship experience can be a valuable addition to your resume. Include details about the company, your role, and any projects or responsibilities you had during your internship. Focus on highlighting the skills you developed, such as problem-solving, communication, or technical skills, and any accomplishments or projects you completed. You can also mention any positive feedback or recognition you received from your supervisors or colleagues during your internship. This can help demonstrate your ability to apply your skills and knowledge in a professional setting and make you stand out to potential employers.
Tip 2: Highlight your relevant projects: Since you may not have much work experience as a fresher, it's essential to emphasize your academic and personal projects that showcase your skills and understanding of programming languages, tools, and technologies. Make sure to include project details such as objectives, tools used, outcomes, and any unique challenges you overcame during the project.


1) wordFilter(‘WORDS’): Add this ‘WORDS’ array/list into ‘PRE_SUF_SEARCH’.
2) find(‘PREFIX’, ‘SUFFIX’): Return the index of the word that is present in ‘PRE_SUF_SEARCH’ having prefix as ‘PREFIX’ and the suffix as ‘SUFFIX’.
1) If there is more than one valid index in ‘PRE_SUF_SEARCH’ for the word, then return the largest possible index.
2) If there is no such word present in the ‘PRE_SUF_SEARCH’, then return -1.
3) ‘WORDS’ array/list contains only lowercase English alphabets.
‘PRE_SUF_SEARCH’ = [“apple”, “mango”, “banana”].
Query_1: find(‘a’, ‘e’).
We have to find the index of the largest possible word that starts with ‘a’ and ends with ‘e’.
Here we have only one word ‘apple’ present in ‘PRE_SUF_SEARCH’ and satisfy this condition. So we return 0.







In this example, The mirror of 2 will be 4, the mirror of 3 will be 9 and the mirror of 7 will be 6 so the final answer is (5 * 5) + (2 * 4) + (3 * 9) + (7 * 6) = 102.
Every Node has a mirror node in the given tree.



• 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.
Firstly, I explained my recursion-based approach to the problem. Once the interviewer was satisfied with my understanding of the problem, he requested that I write the code for my proposed solution, taking into consideration any possible edge cases.
What are ACID properties?
What is normalization?
What is 2NF, 3NF?
What are ER Diagrams?
Explain process and memory management?
What are paging and segmentation?
What is CPU scheduling?
Synchronization mechanisms such as semaphores (including types of semaphores).



For ‘arr’ = {1, 0, 0, 2, 1}.
‘Answer’ = {0, 0, 1, 1, 2}.
‘Answer’ should contain all 0s first, then all 1s and all 2s in the end.



1. If you encounter a situation when 'B[i]' is greater than the number of remaining nodes in the list, then simply reverse the remaining nodes as a block and ignore all the block sizes from 'B[i]'.
2. All block sizes are contiguous i.e. suppose that block 'B[i]' ends at a node cur, then the block 'B[i+1]' starts from the node just after the node cur.
Linked list: 1->2->3->4->5
Array B: 3 3 5
Output: 3->2->1->5->4
We reverse the first block of size 3 and then move to block 2. Now, since the number of nodes remaining in the list (2) is less than the block size (3), we reverse the remaining nodes (4 and 5) as a block and ignore all the block sizes that follow.
I explained my recursive approach-based solution to a problem. The interviewer asked me to provide the code and explain the time and space complexity of the solution. After I completed this task, the interviewer asked for a more space-optimized solution. I presented the iterative solution and explained it to the interviewer. My explanation was sufficient, and the interviewer did not ask me to provide the code for the iterative solution.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
To make an AI less repetitive in a long paragraph, you should increase: