- 2017-01-31 12:00 PM - 1:00 PM @ TC 1107 and TC 1108
- In Person
- Two 30 minute interviews
- Interview 1: Interviewed by ᴍᴀrtin, Developer on Platform Team (known as PIE in company).
- Non-technical Questions
- No non-technical questions
- Technical Questions:
- Implement cache(func, func_input) in Python
- Did not know Python so switched to Java and improvised question
- Implement lookup_cache(func, func_input)
- Used HashMap, checked if map contained key, if so return val
- Implement cache(func, func_input, val)
- Improvised to remove least recently used values
- Key: Object = {funcName, funcInput, timeStamp}
- Changed map to treemap that compares by Object's time stamp
- Every time we cache, update timestamp to equal current time
- If size has been exhausted, remove treemap.first()
- Interview 2: Interviewed by jeremιah, lead engineer.
- Shadowed by vιvιan, recent UW grad
- Grades are not important because he did not value them much in college
- They only give out excellent or outstandings
- Non-technical Questions
- Recent project that I found exciting
- Work I did at T04st in preparation for sharding
- Bug I found interesting (follow up: how did you solve)
- The active restaurant but not approved bug, which lead to distributed transactions
- Technical Questions:
- Is string pangram? (e.g. "The quick brown fox..")
- int[] alpha = new int[26];
- check if each character c is between 'a' and 'Z'
- lower case c if so, and increment alpha[c-'a']
- loop through alpha, if any int in alpha == 0 return false, else true
- Is palindrome if rotated? (e.g. ivicc -> civic)
- loop through string, have 2 pointers
- check if char at each are equal and move pointer towards each other until they meet and return true
- Discussion: this implementation isn't pretty
- Alternative: use stack, pop if equal, then check if rest of stack is a palindrome.
jan 31 2017 ∞
jan 31 2017 +