I applied through a recruiter. I interviewed at Whisper (Los Angeles, CA) in Apr 2017
Interview
3 step interview. Started with a basic screening, asked about experience and engineering background. Then specialized questions and a coding example using some online toool (cant remember which one). The last one was more HR focused. Pretty straightforward process and very transparent.
Interview questions [1]
Question 1
Multiple string manipulation examples and problems.
I applied through an employee referral. The process took 1 week. I interviewed at Whisper (Venice, CA) in Jun 2017
Interview
I had a phone screen with someone, and then I flew out the next week for several in person interviews. I also had lunch at the office with several employees and then heard back from them the next day.
I applied online. The process took 2 days. I interviewed at Whisper in Jan 2016
Interview
I applied online and a recruiter reached out to me to schedule phone screen with an engineer. I didn't continue in the process because I didn't pass the inital phone screen.
Interview questions [1]
Question 1
1. Calculate how many times 10 can by divisible by a number?
- Gave an O(n) Solution:
public int count(int n){
if(n == 0){
return 1;
}
int count = 0;
while(n % 10 == 0){
count++;
n /= 10;
}
return count;
}
2. How can you do better than linear?
- Was a lot more difficult for me, but finally got an O(log n) Solution
public int binarySearch(int val, int start, int end){
if(start > end){
return -1;
}
int mid = (start + end) / 2;
if(val % 10^(length - i) == 0 && ((val / 10^(length - i)) % 10) != 0){
return (length - i);
}
else{
// if value is non 0, search right for value
// if value is 0, search left for value
if(val % 10^(length - i) != 0){
binarySearch(val, mid+1, end);
else{
binarySearch(val,start, mid-1);
}
}
}
3. Given 2 people, find if one is the ancestor of another? These are actual people so, there is a mother and father who are ancestors of their son, along with grandmothers and grandfathers. (Not a tree)
Given:
def isAncestor(me, anotherPerson):
class Person:
string id
string name
int gender
date dob
- What if the path up the tree is very long? It takes a long time to traverse up?
- Can store additional info in the Person class