Cohesity | MTS-3 | Interview Experience | Selected
Summary
I completed a multi-round interview process for an MTS-3 role at Cohesity, which included Data Structures & Algorithms, System Design, and Techno-managerial discussions. Initially, there was a rejection and a period of uncertainty, but after an additional round, I received an offer of selection.
Full Experience
Background - M.Tech in CSE, Tier-1 Total YOE - 6+ (excluding internship) Company - SDE-2 in Top PBC (non-MAANG) recruiter approached on LinkedIn.
Round - 1 : DSA (from US) Coderpad 1st question : We have an undirected, connected graph of n houses labeled 0…n–1. A subset of these houses, given by solarPanels, already have power and incur cost 0. Every other house must “pull” electricity along the wires (each wire = unit distance) to its nearest solar‐powered house. Return an array dist[0…n-1] where dist[i] is the shortest path length from house i to any house in solarPanels (or 0 if i is itself in solarPanels).
I gave him Brute Force approach first, like for each house 'i' not in solarPanels run a BFS(or DFS) from that house 'i' until you hit any solar-powered house, record that distance. I discussed the complexity with interviewer & then moved to optimized approach : Multi-Source BFS. Instead of a separate BFS from each house, start one BFS from all solar houses at once.
Fully-working code was expected, after fixing some trivial cases all testcases passed.
2nd question : Delete Nodes And Return Forest because 20 mins were remaining. So, again discussed brute force first then suggested optmised solution using single post-order DFS. Interviewer was satisfied. Wrote small pseudo code because of time constraint.
Next day got call for 2nd round.
Round-2 : Design (from India) Discussion started from my project. As it's distributed systems heavy & aligns with the field in which cohesity works, interviewer got interested & we discussed in length & breadth. He was testing my distributed systems knowledge as pros & cons of using many component, like why this why not that. For 45 mins we discussed. At last he started asking me CN as I had mentioned security related features in my resume, but in the last very basic question I gave him wrong answer. I was skeptical about this round as I had messed-up few questions in the last 10 mins.
I had prepared previous Cohesity questions : like multi-tier cache for design round but interviewer told he liked my project that's why he deep dived.
Next day got got call for Managerial Round.
Round - 3 : Techno-managerial (From US) We discussed again in great detail of my project + lots of behavioural questions + technical questions on situations like how will you fix memory issues happening in 1 of the Microservice. Went well according to me.
Feedback awaited. HR didn't respond. In the current market scenario recruiter ghosting majorly means rejection because of multiple factors. I had given managerial round on 21st May. Till now no communication.
Anyone who has given Cohesity interviews can shed some light.
Post is for contributing back to community.
Update - 28 May - 1 week after the managerial round, HR communicated that feedback was decent but the manager chose other candidate to proceed with. He told they have lot of openings in that BU (where I interviewed) & will try to map profile those openings. I asked about whether this means rejection, he told it's just that they keep candidates profile who have cleared all rounds & as soon as any opportunity comes they map to it.
After few days, got call from HR regarding 1 more round from a different hiring manager.
Round - 4 : Techno-managerial (From India) It was a technical/design discussion round. In my current project Replication was used, so he started by asking how to ensure backward compatibility?
Any trade-offs in current design, discussion about stateful/stateless components in my project, REST, gRPC. He deep dived into the project.
Then he asked me to design Key Management System with certain requirements. Discussed in depth about DB (which & why), how to ensure high availability, type of replication to be used, caching, scaling, how bootstrapping will work, key rotation - old keys are rotated regularly or on demand without breaking clients, how to ensure granular access control (Role based or Attribute based).
then at last 1 question to explain any tough bug I solved recently.
Overall it was a very good discussion.
After 2 days got call from HR, verdict - selected.
Interview Questions (3)
We have an undirected, connected graph of n houses labeled 0…n–1. A subset of these houses, given by solarPanels, already have power and incur cost 0. Every other house must “pull” electricity along the wires (each wire = unit distance) to its nearest solar‐powered house. Return an array dist[0…n-1] where dist[i] is the shortest path length from house i to any house in solarPanels (or 0 if i is itself in solarPanels).
Design Key Management System with certain requirements. Discussed in depth about DB (which & why), how to ensure high availability, type of replication to be used, caching, scaling, how bootstrapping will work, key rotation - old keys are rotated regularly or on demand without breaking clients, how to ensure granular access control (Role based or Attribute based).
Preparation Tips
I had prepared previous Cohesity questions, specifically for a multi-tier cache for the design round. However, the interviewer preferred to deep dive into my project.