[Android] Google | Meta | Doordash | L5 | US Remote | Nov [Offer]
[ OK ]001805A859 — full writeup
[ INFO ]category: Behavioral · Phone Screen difficulty: medium freq: first seen: 2023-07-19
[MEDIUM][PHONE SCREEN]Phone ScreenE5Selected
$catproblem.md
Google | L5 | US Remote | Nov [Offer]
Meta | IC5 | US Remote | Nov [Offer]
DoorDash | L5 | US Remote | Nov [Offer]
Uber | L4 | US Remote | Nov [Offer]
Amazon | US Remote | Nov [Reject]
Zillow | US Remote | Sep [Reject]
Status: 3 yo in USA, 8 yo outside of US. Android dev
Position: Senior android engineer
Location: OR. Looking for remote position only
Date: Fall,
Solved on leetcode: 213 problems. 30% easy, 70% medium, a few hards
Google
Phone screening. The problem: I have friends in some social network. These friends have some other friends. Create an algorithm to pick the best friend suggestion for me. Basically sort all friends of friends by count of occuriencies and pick one with the highest count.
Follow up: expand the search algorithm to find friend suggestion on the level with depth N. So need to check friends of friends of friends .... N times.
On site 1. The problem: Input: you have an activity with MediaPlayer playing some video. So we have access to the current state of the video (current time, is it started\stopped). Create an algorithm to show captions for this MediaPlayer which are supposed to be synchronized with video. If user seeks to particular position in video we have update the captions correspondingly.
On site 2. The problem: You have an app which basically represents a web browser. The web content is being loading too slowly. How you're going to debug the issue?
On site 3. System design problem: design gmail app. The Key question is how to design synchronization process between android app and server
On site 4. Leadership. Nothing special. Standard questions.
Meta
Phone screening. The problem (sliding window): Input: array of 365 booleans and number N. We can convert any N items of false into true. Find the size of the longest subarray containing True only.
On site 1. The problem: Input: almost sorted array of numbers. Need to return the answer to the questions: is it possible to swap any 2 numbers in the array so the array would become fully sorted. We can do only 1 swap.
Second problem: Input: string containing open and closed bracets only, like (()())))(. Need to remove all invalid bracets and return a string containing only valid pairs of bracets, like (())()
On site 2. The problem: Input: Matrix of numbers NxN. All numbers in all rows are sorted in asc order. All numbers in all columns are sorted in asc order. Need to find the Kth smallest number.
On site 3. Leadership. Nothing special. Standard questions.
On site 4. System design problem: design an android app displaying a wallpaper using a random image from user's facebook photo album. Every day a new image should be displayed.
DoorDash
Phone screening. Live coding in android studio. Create an app using the skeleton (which is following clean architecture approach) provided. Need to create a new screen, make an api call and show the list of results on the screen.
On site 1: Live coding in android studio. Add new functionality to the previous app. Need to add Login screen, save the token received after authorization and add the token as a header to all future requests in the app
On site 2: System design problem: design a regular app which makes an http call and then shows the result of the call on the screen (I don't remember the exact details but it doesn't really matter)
On site 3: The problem: you're given an array of numbers (e.g. 1,2,9). The array represents a real number, e.g.129. Need to +1 to the number and return it as a real number, e.g. 130. Yes, easy problem.
Additionaly there were many android specific questions, like what is activity, fragment, how to pass data between them and so on.
On site 4: Leadership. Nothing special. Standard questions.
Amazon
Phone screening. The problem was some sliding window problem which was very similar to Meta's Phone screening problem. I was also asked one leadership questions: what did you invent on your previous projects?
I answered something but apparently that was not what interviewer expected to hear. So reject.
Uber
Phone screening. The problem: validate sudoku. You're given a 9x9 matrix of numbers.
On site 1. The problem: you're given an array of words where some words are repeated. Need to output onlu unique words sorted by occuriencies.
On site 2. System design problem: design 1-to-1 chat system from android perspective
On site 3. System design 2 problem: design an ui sdk which would show an input field, a button and list of results under them. The component should be flexible enough to use custom layout to render items of the list.
On site 4: Leadership. If you would have to invest 1 million of dollars at some NEW Uber product which one would you choose? Need to create a new one
On site 5: Leadership. Nothing special. Standard questions.