Tip 1: Review Core Concepts: Refresh your knowledge of fundamental computer science concepts, including data structures, algorithms, and object-oriented programming. Focus on understanding how these concepts work, their time and space complexities, and when to use them in different scenarios.
Tip 2: Practice Coding Problems: Solve coding problems regularly to improve your problem-solving skills and familiarity with standard algorithms and data structures. Leverage online platforms, coding challenges, and interview preparation websites to practice coding under time constraints.
Tip 3: Brush Up on System Design: Understand the principles of system design and scalability. Study different system architectures like client-server, microservices, and distributed systems. Practice designing scalable and efficient systems while considering factors like performance, fault tolerance, and data storage.
Tip 4: Study Your Resume and Projects: Review your resume thoroughly and be prepared to discuss your previous projects, including the technologies used, challenges faced, and solutions implemented. Be able to explain your role and contributions in detail and highlight any unique or notable aspects of your work.
Tip 5: Mock Interviews and Communication Skills: Practice mock interviews with friends or colleagues, or use online platforms that offer interview simulations. Work on your communication skills, as clear and concise communication is essential during technical interviews. Practice explaining your thought process, sharing your approach to problem-solving, and asking clarifying questions.
Tip 1: Clear and Concise Format: Maintain a well-organized and easily readable resume format. Utilize clear headings and bullet points to emphasize crucial details. Ensure consistency by using a professional font throughout the document. Limit your resume to one or two pages, focusing on presenting the most pertinent and impactful information.
Tip 2: Tailor Your Resume for Each Application: Customize your resume to suit the requirements of each job application. Carefully analyze the job description and integrate relevant keywords and skills into your resume. Highlight your relevant experiences, accomplishments, and skills that align closely with the specific role you're applying for.
The round began with the interviewer posing questions related to core concepts such as data structures, algorithms, and object-oriented programming. They expect me to demonstrate a solid understanding of these fundamental topics, including their implementation, time complexity analysis, and practical applications.



This was solved by me through dynamic programming. Let dp[i][j] denote the maximum possible weight you can fill in the bag with a total capacity of j using exactly one stone of each colour from 1 to i. Now you can club all same-colored stones in a vector. Then this problem is the same as the classical knapsack problem and I passed all test cases and selected for the next round.



[1, 2, 3, 4] is a strictly increasing array, while [2, 1, 4, 3] is not.
Firstly I gave a recursion approach but then the interviewer asked me to optimize that so I gave him a standard DP approach for the longest increasing subsequences by storing the results and using them for future calculations of bigger problems.
The environment during the round was likely professional and focused.



Input: Let the binary tree be:

Output: [10, 4, 2, 1, 3, 6]
Explanation: Consider the vertical lines in the figure. The top view contains the topmost node from each vertical line.
I simply used level-order traversal and the concept of horizontal distance. Whenever we encounter the first node for a particular horizontal distance then we store that in the map and at last in the map we have a tree top view. The interviewer asked me to write its code and I wrote a clean and commented code for it and he was satisfied.



The given Linked Lists are merging at node c1.
In this case, c1 is 'MERGING POINT'.

At first, I gave the interviewer a complete brute force by considering each element of the first list and comparing it with each element of another list but that was inefficient. So I gave the interviewer the optimal approach by finding the difference in lengths of the linked list and then traversing the bigger linked list to the difference. Now start traversing both linked lists till we find the common element. This solution impressed the interviewer.

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