Tip 1: Focus on building strong fundamentals before jumping to advanced problems.
Tip 2: Practice coding problems regularly and analyze better or optimized approaches.
Tip 3: Revise concepts and explain solutions out loud to improve interview communication.
Tip 1: Keep the resume concise and focused on core skills and relevant projects.
Tip 2: Clearly explain your role and impact in projects, rather than just listing the tools used.
The online assessment was conducted as the first screening round before the interview. It was a time-bound, proctored test on a coding platform with clear instructions. The assessment focused on evaluating core computer science fundamentals through MCQs and basic problem-solving skills through DSA coding questions. The difficulty level ranged from easy to medium, aiming to test conceptual clarity, logical thinking, and clean implementation rather than advanced optimizations.



F(n) = F(n - 1) + F(n - 2),
Where, F(1) = 1, F(2) = 1
"Indexing is start from 1"
Input: 6
Output: 8
Explanation: The number is ‘6’ so we have to find the “6th” Fibonacci number.
So by using the given formula of the Fibonacci series, we get the series:
[ 1, 1, 2, 3, 5, 8, 13, 21]
So the “6th” element is “8” hence we get the output.
Step 1: I first understood the definition of the Fibonacci sequence and identified the base cases (n = 0 and n = 1).
Step 2: I defined a recursive function where the function calls itself for (n−1) and (n−2).
Step 3: I returned the sum of these two recursive calls to compute the result for n.
Step 4: I tested the logic with small values of n to ensure that the recursion flow and base cases were correct.



Input: 'n' = 5, 'arr' = [1, 2, 3, 4, 5]
Output: 5
Explanation: From the array {1, 2, 3, 4, 5}, the largest element is 5.
Step 1: I initialized a variable to store the maximum value, starting with the first element of the array.
Step 2: I traversed the array once to find the maximum element by comparing each element with the current maximum.
Step 3: I traversed the array again to count how many times the maximum element appeared.
Step 4: I returned both the maximum value and its frequency.
The interview round was conducted during normal daytime working hours and lasted around 20 minutes. It was not a late-night interview. The environment was calm, professional, and distraction-free, which made it comfortable to think and communicate solutions. There were no other significant activities during the round apart from the technical discussion. The interviewer was polite, patient, and supportive, and focused on understanding my fundamentals, thought process, and clarity of concepts rather than only the final answers.



1. Constructor:
It initializes the data members(queues) as required.
2. push(data) :
This function should take one argument of type integer. It pushes the element into the stack and returns nothing.
3. pop() :
It pops the element from the top of the stack and, in turn, returns the element being popped or deleted. In case the stack is empty, it returns -1.
4. top :
It returns the element being kept at the top of the stack. In case the stack is empty, it returns -1.
5. size() :
It returns the size of the stack at any given instance of time.
6. isEmpty() :
It returns a boolean value indicating whether the stack is empty or not.
Query-1(Denoted by an integer 1): Pushes an integer data to the stack. (push function)
Query-2(Denoted by an integer 2): Pops the data kept at the top of the stack and returns it to the caller. (pop function)
Query-3(Denoted by an integer 3): Fetches and returns the data being kept at the top of the stack but doesn't remove it, unlike the pop function. (top function)
Query-4(Denoted by an integer 4): Returns the current size of the stack. (size function)
Query-5(Denoted by an integer 5): Returns a boolean value denoting whether the stack is empty or not. (isEmpty function)
Operations:
1 5
1 10
2
3
4
Enqueue operation 1 5: We insert 5 at the back of the queue.
Queue: [5]
Enqueue operation 1 10: We insert 10 at the back of the queue.
Queue: [5, 10]
Dequeue operation 2: We remove the element from the front of the queue, which is 5, and print it.
Output: 5
Queue: [10]
Peek operation 3: We return the element present at the front of the queue, which is 10, without removing it.
Output: 10
Queue: [10]
IsEmpty operation 4: We check if the queue is empty.
Output: False
Queue: [10]
Step 1: I first clarified the requirement that stack operations must be implemented using only queue operations.
Step 2: I decided to use two queues to simplify the logic and clearly simulate stack behavior.
Step 3: For the push operation, I enqueued the new element into the empty queue and then moved all elements from the other queue into it.
Step 4: I swapped the queue references so that the front of the queue always represents the top of the stack.
Step 5: For the pop and top operations, I directly dequeued from or accessed the front of the active queue.
Step 6: I explained the time complexity trade-off, where the push operation is costly while pop remains efficient.
Tip 1: Understand DBMS concepts using real database table examples instead of memorizing definitions.
Tip 2: Be clear about use cases and advantages, not just differences.
Tip 3: Practice explaining concepts in a structured way (definition → purpose → example).
Tip 1: Focus on understanding OS concepts through process life-cycle and scheduling flow diagrams.
Tip 2: Relate theoretical concepts to real system behaviour, such as multitasking or CPU sharing.
Tip 3: Practice answering OS questions with a clear structure: definition, working, and impact.

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