Tip 1 : Prepare the core subjects like OOPs, Operating system,s and networking
Tip 2 : Be well versed with the data structures and algorithms and practice coding problems.
Tip 3 : Practice mocking interviews before the actual interviews
Tip 4 : Read the last interview experiences from the code studio platform
Tip 1 : Choose the right format, and make it simple and clean.
Tip 2 : Add 2-3 solid projects to your resume to stand out from other candidates
Tip 3 : Be aware of all the topics which you mentioned in your resume as the interviewer is going to ask questions from the resume only
It was a 90 minutes long proctored test with different slots based on aptitude and coding. There were six sections with a total of 66 questions:
The Technical Round was of 2 hours 15 minutes and was conducted on HackerRank. It comprised 5 sections:
Programming – 30 minutes: 2 easy to medium level questions (1 of 20 marks other of 30).
Quantitative Aptitude – 25 minutes: 7 Math-related MCQs.
Computer Science – 20 minutes: 8 MCQs based on Computer Science subject topics like OOPs, OS, DBMS, DSA
Advanced Programming – 45 minutes: 1 question on Advanced Data Structures (100 marks)
Tell me about Yourself – 15 minutes: 2 essay-type questions



Let the given string be “(()())((”.
Here the valid parentheses substrings are: “()”, “()” and “(()())”. Out of these the longest valid string is “(()())” which has a length 6.
This was the technical interview in which one interviewer was there conducted virtually over the zoom platform.
In this interview, the interviewer asked about the projects done in college and gave me two coding questions to solve and find the optimized solution.



The given linked lists may or may not be null.
If the first list is: 1 -> 4 -> 5 -> NULL and the second list is: 2 -> 3 -> 5 -> NULL
The final list would be: 1 -> 2 -> 3 -> 4 -> 5 -> 5 -> NULL
Iterative Approach:
Step 1. Init a dummy node to keep track of head, once we merged two list we can return dummy.next
Step 2. Iterate through list1 and list2, and use a extra pointer curr to track current Node
If list1.val < list2.val: Set curr.next = list1, and move list1's pointer forward
Else if list1.val > list2.val: Set curr.next = list2, and move list2's pointer forward
Move curr to curr.next
Step 3. Once we iterate through one of these two list, we make curr.next points to reaming list.
Complexity Analysis
Time: O(N+M): Let N and M be length of list1 and list2.
Space: O(1)
Iterative Code
Python
class Solution:
def mergeTwoLists(self, list1: Optional[ListNode], list2: Optional[ListNode]) -> Optional[ListNode]:
# Create a dummy node to keep track of head
dummy = ListNode(0)
curr = dummy
# Iterate through list1 and list2
while list1 and list2:
if list1.val < list2.val:
curr.next = list1
list1 = list1.next
else:
curr.next = list2
list2 = list2.next
curr = curr.next
# For remaining
curr.next = list1 or list2
return dummy.next



You can’t sell without buying first.
For the given array [ 2, 100, 150, 120],
The maximum profit can be achieved by buying the stock at minute 0 when its price is Rs. 2 and selling it at minute 2 when its price is Rs. 150.
So, the output will be 148.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
How do you remove whitespace from the start of a string?