Tip 1 : Don't try to do all questions. Try to build an understanding of topic and then approach questions. One refer to answers to check the best approach but try to come up with a solution first.
Tip 2 : Make sure you have live projects, at least 1. The deployment lifecycle will help you explain processes at a deeper level. You'll also be familiar with tools like Github which helps at an SDE job.
Tip 3 : Try attending hackathons and networking sessions. You'll not only learn a lot but also come up with ideas and projects you can talk about during interviews.
Tip 1 : Have one live project so you can show it during interview
Tip 2 : Make sure your OOPS concepts are strong
60 mins for 2 coding questions. 30 mins for 20 MCQs.
It was at college, normal afternoon at computer lab. 30 students appeared simultaneously in a room.



1. You can return the list of values in any order. For example, if a valid triplet is {1, 2, -3}, then {2, -3, 1}, {-3, 2, 1} etc is also valid triplet. Also, the ordering of different triplets can be random i.e if there are more than one valid triplets, you can return them in any order.
2. The elements in the array need not be distinct.
3. If no such triplet is present in the array, then return an empty list, and the output printed for such a test case will be "-1".
Step 1 : Looks like a greedy problem where you want to take the max values. Run some dry cases and see if some case violates it.
Step 2 : Try a brute force approach with 3 loops. Run three nested loops to iterate through all triplets. For every triplet, compute the required value and keep track of maximum and finally return the same.
Step 3 : Precompute values and stores them using extra space. The first key observation is i ≤ j ≤ k, so x*a[i] will always be the left maximum, and z*a[k] will always be the right maximum. Create a left array where we store the left maximums for every element. Create a right array where we store the right maximums for every element. Then for every element, calculate the maximum value of the function possible. For any index ind, the maximum at that position will always be (left[ind] + j * a[ind] + right[ind]), find the maximum of this value for every element in the array and that will be your answer.


Input: X1 = 0, Y1 = 0, X2 = 2, Y2 = 0, R1 = 1, R2 = 1
Output: YES
Circles intersect with each other at (1,0) with each other. Refer to the image given below:

Step 1 : Visualize the problem. Two circles can touch at 1 point minimum and in such a case the distance between centres is sum of radii. So if sum of radii > distance between centres, they do not touch.
Step 2 : Code the problem to determine distance between centres and compare it with R1 + R2
There were 6 interview rooms, you were called in one by one based on your online test score.
Tip 1 : Be clear about basic concepts, they shared some resource links, go through that properly
Tip 2 : Don't lie about any project. They start asking in depth as to why did you use a particular tech stack and why not the other. So you should know your project and choices inside out.
Tip 3 : Be thorough with SQL and noSQL if you mention it
Tip 4 : Be sure to know why you use a particular language. They might ask why don't you prefer Java over C++ or Python
Students who are recommended by the technical interviewer advanced to this round
Tip 1 : Try to be calm, stay firm in your point
Tip 2 : Accept criticism if required, don't be arrogant or headstrong
Tip 3 : Clearly explain why you have certain thoughts or expectations, it's better to go through the company website once to understand what they do

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