I recently interviewed at Media.net for the role of SDE. Since it was an off-campus process, the entire interview process was conducted on Google Hangouts Chat. The usual Media.net FTE hiring process consists of : 1 coding round, 2 algorithmic interviews, a final interview round. All the rounds are eliminative. The whole process took 2 months to complete.
Round 1 (Coding): I had the coding round skipped. Media.net shortlists some candidates who have been to the ACM-ICPC regionals and for those candidates, they skip the coding round. I was one of those candidates.
Round 2 (1st algorithmic interview – 1 hour): 1 programming question was asked in this round.
Question : Given an unsorted array of size N containing N distinct integers. Find the count of elements in the array which are binary searchable. A binary searchable element is the element which you can find in the given array through traditional binary search algorithm (that assumes the array is sorted).
N = 7
Array = 1 5 3 2 6 7 4
Binary searchable elements = 0, 3, 4, 5 (0 indexed array)
Ans = 4
Expected Time Complexity – O(n)
Round 3 (2nd algorithmic interview – 1 hour): 1 programming question was asked in this round too.
Question : Given a graph in which each node represents a city. Some cities are connected to each other through bidirectional roads. The length of each road is also given. Some of the cities have hotels. Given a start city and a destination city and a value K which represents the maximum distance that can be travelled by a person in one day, find the minimum number of days in which the person can reach his destination (or tell if it is impossible for the given K). (Note : If the distance travelled in one day is exceeding K, the person can rest in the city which has a hotel in it, if there is no hotel in that city this implies you have to choose another path. Next day, the person can start from that city and the distance travelled get reset to 0).
Round 4 (Final Interview – 1 hour): This round consisted of 1 programming problem, os, dbms, networking questions and many other questions.
Q1 – Given a 2-D matrix of 0s and 1s. Find the number of cells in the matrix for which the corresponding row and column both contains all 0s.
Ans – I told the following approach for solving it – For each row and column find whether it contains all zeroes or not. Store this information in 2 boolean arrays of size n and m respectively. This step required time complexity of O(n*m). Then for each cell check whether its corresponding row and column contain all zeroes or not. Time complexity for this step – O(n*m).
The interviewer asked for improving tc for second step. He wanted it in O(1). After some discussion, I got to the solution that we just need to return the product of count of rows and columns that contains all zeroes.
Q2 – Time complexity and data structure used for implementing hashmap. Techniques for resolving collisions in hashing. Suppose you are using the linear probing technique. You have hash array of size 10. Hash function is – mod 10. Store the numbers in following order 5 15 25 6. Delete 5. Now how will you find the key for value 15 in least time complexity?
Q3 – Data structure for creating index for a large size database. (Ans : B+ tree) Why B+ tree is used? Why can’t BST be used? Why can’t balanced BST be used?
Q4 – What is thrashing in OS?
Q5 – What is starvation in OS? How to prevent it? (Ans – Ageing) What is ageing?
Q6 – In which scheduling schemes starvation can occur? Which schemes avoid it?
Q7 – What is deadlock? How to detect a deadlock? Necessary conditions for deadlock?
Q8 – Which page replacement algorithms do you know? What is LRU page replacement algorithm?
Q9 – Difference between TCP and UDP? Applications of each.
Q10 – How congestion control is performed in TCP? Significance of each step in 3-way handshake in TCP in detail.
Q11 – Layers in OSI model of networking.
Q12 – Data structure for implementing undo and redo in a text editor. (I answered we can use 2 stacks for the same). The interviewer was satisfied with it but later asked can you tell me any data structure other than 2 stacks to which I answered No.
Q13 – Questions related to 2-3 projects mentioned in the resume.
Result was communicated after 10 days. Got the offer 🙂
Some Tips –
- Go well through all the projects that you have mentioned in the resume.
- Revise all the theory subjects thoroughly.
- Think loudly. Interviewers are very friendly. They will guide you towards the solution. So ask for hints wherever you get stuck. Clarify the problem statement and constraints well. Interviewer may not tell them implicitly and expects you to ask them.