Jumped straight into coding.
https://leetcode.com/problems/powx-n/description/
I solved it naively. Then was asked to make it more efficient and I gave it some thought and proposed the recursive binary exponentiation solution. I needed a hint to solve for the odd case. I also added memoization. I walked through some test cases and the interviewer was happy.
Same question as the one described in this post https://leetcode.com/discuss/post/6391169/meta-interview-by-anonymous_user-89cl/
(copied from above post)
"Given a list of city names and their corresponding populations, write a program to output a city name subject to the following constraint: the probability of the program to output a city's name is based on its population divided by the sum of all cities' population. Assume the program will be repeatedly called many times."
I proposed a solutions to use a hashmap to map city name to a range of numbers representing the size of it's populations. For the 'getCity' function I generated a random int from 1 to sum of population of all cities, walked through each entry in the hashmap and returned the city if it fell within the range. This was an O(n) runtime and then after implementing it I proposed an O(log(n)) solutions to store ranges (can be stored as just one number) representing the size of each cities population and doing a binary search on it to find which interval the random int lands in then map it the corresponding city. I didn't have time to implement it, but the interviewer was happy with the description of the more efficient algorithm.
After the coding portion, I asked some questions about his projets, meta's culture of proactive impact and getting promoted as an engineer.