Salesforce MTS | Bangalore
Anonymous User
8149

Approached by Recruiter (Early September)
Was reached out by recruiter on Naukri.com. Post applying he called me up at 8:00 PM and shared a OA link. I was asked to complete it before 12 Noon next day. I completed it immediately.

OA
OA consisted of two medium questions.
I remember some test cases were not passing, (Hack: on hacker rank, hidden test cases can be printed in output and seen). I manually tried to find the solution and I realized my code was giving the correct answer but still the test cases weren't passing. I concluded that it is possibly a bug.
(Sorry, I don't remember the questions)

I was called for offline interviews.
Round 1
1st round: DSA
Question:
Given a list of logs, need to implement a class with two API's (Logs would be supplied in constructor)

  1. Given two dates get all the logs between them
  2. Given two dateTime, get all the logs between them.

I think I knew from the moment question was told that
Brute Force: Traverse all the logs and choose the ones applicable.
Optimized: Sort the logs based on time stamp, use binary search to find start and end of applicable logs.

I took it slow, presented the brute force, spoke about the complexities.
Then, presented the optimized approach.
Clarified lots of details. log string structure(something like this) :- severity-timestamp-message

I initially stored the logs in an ordered map, by extracting the timestamp and using it as key. But, interviewer didn't want me to use the extra space for storing keys. I mentioned that severity (error, warning, trace etc.) could be of variable length, if they were of fixed length I could directly index timestamp and avoid extra traversal.
Interviewer, then changed the log structure to "timestamp-severity-message".
Timestamp was in format : YYYY:MM:DD:HH:mm::ss, I observed that normal string compare shall itself compare the dateTime as expected.

Coded in C++.
wrote a clean code with custom lambda's in sort, upper_bound and lower_bound functions.
Code ran and interviewer's manual test cases passed.

He then started wrapping up the interview, I got a little sceptic as one question is too less in an ideal interview. So, I asked him if I can attempt another question in next 5 mins. He replied, he got enough pointers to evaluate me and it is not necessary.
I asked interviewer about his work and we called it a wrap.

Round 2
2nd round: Manager Round:
Went deep in the projecsts I've worked on. I explained things in details, he would ask me to elaborate wheneven I mentioned any technical term or a design pattern.
Asked me a puzzle.
Asked me abiout front end tech stacks I've worked on.
I had worked on only Desktop apps as part of work but have explored Andriod and Web frontend techs personally. Had build some projects using them. I'd recently created my portfolio on web and hosted it on github. I immediatlely showed him the responsive site on my phone, I think that did the trick to impress him.
Interview ended at a positive note of him asking about my work location preferences. I choose bangalore over hyderabad. He then asked if I would come to Hyderabad if he takes me, I said yes I'll.
But luckily, I ended up getting Bangalore itself.

Verdict: Hire
Got the offer in early October.

Compensation Details : https://leetcode.com/discuss/compensation/4233702/Salesforce-MTS-or-Bangalore

Comments (14)