Tip 1 : keep you data structures & algorithmic basic concepts strong
Tip 2 : do practice easy-medium questions on leetcode/GfG/other platforms
Tip 3 : prepare couple of good projects in final year to add in resume.
Tip 1 : keep it short and concise and to the point (a technical recruiter doesn't want to know how many medals you won in art competition in school)
Tip 2 : don't lie on resume.



Try to solve the problem in 'Single Scan'. ' Single Scan' refers to iterating over the array/list just once or to put it in other words, you will be visiting each element in the array/list just once.
I saw the constraints, it was larger..in range of 10^9, so had a thought that simple sorting (nLogn) won't work, upon reading problem couple of times I realized it is extension of Dutch National Flag problem (sort 0,1 2).



In the below map of Ninjaland let say you want to go from S=1 to T=8, the shortest path is (1, 3, 8). You can also go from S=1 to T=8 via (1, 2, 5, 8) or (1, 4, 6, 7, 8) but these paths are not shortest.

I realized this is Graph related problem and shortest path finding approach has to be used.
I used Dijkstra algorithm to find out shortest available path and find out how much times I can avail discount in my total path (total%x) and subtracted it from my final result.
started off with introduction then went on to coding problems, a google doc link was shared where I had to write working code.



For the following array:
[0 1 1 1 0 0 1]
The output should be [0 0 0 1 1 1 1].
You have to sort the array in place.



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".
I first used a hashmap based approach but it was running to n^2, upon discussion I came up to sorting+ 2 pointer approach which is more efficient (nLogn).
Started off with project discussions and then coding problem and then a DB design problem, followed by OOPS,CN,OS related questions.



If two rows have the same number of 1’s, return the row with a lower index.
If no row exists where at-least one '1' is present, return -1.
Input: ‘N’ = 3, 'M' = 3
'ARR' =
[ [ 1, 1, 1 ],
[ 0, 0, 1 ],
[ 0, 0, 0 ] ]
Output: 0
Explanation: The 0th row of the given matrix has the maximum number of ones.
I came up with a binary search based solution since each row is sorted (n*logn)
after further discussion and brainstorming came up with O(m+n) approach based on column wise traversal.
I was asked to design database for an online education application, which will be containing following entities:
Class(Standard) , Subject, Marks, Average Marks, chapters, lesson url.
It was a very open discussion question.
Tip 1 : ask relevant questions, interviewer wanted to see how many real life scenarios you can think of and handle.
Tip 2 : start decomposing the bigger problem into smaller chunks and start with discussing solution of them and then start connecting all of them to bigger solution.
Tip 3 : think out loud and try to grasp hints from interviewer.
Also practice these kind of questions before interviews.
What are semaphores?
What are various Scheduling Algorithms.
What is virtual memory?
What is Normalization?
Define/Explain Deadlock.
Normal HR discussion
Why Hashedin?
me about your college life.
Project discussion from resume, and what new feature will you add if asked to create that project again from scratch.
Why Should we Hire you?
Tip 1 : Be honest
Tip 2 : Be confident
Tip 3 : Ask relevant questions

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?