I was referred by an employee and then contacted by HR. I had three rounds of phone interviews, followed by a call for onsite interviews. The questions were aimed at testing coding and design skills. They are looking for candidates who can write correct code on the first attempt.
My advice would be to revise all basic algorithms, review common interview questions, and practice a lot of coding on paper or a whiteboard. The difficulty level of the questions was not as high as at Google.
Implement a function char* readLine(); which returns single lines from a buffer. To read the buffer, you can make use of a function int read(char* buf, int len) which fills buf with up to len characters and returns the actual number of characters filled. Function readLine can be called as many times as desired. If there is no valid data or newline-terminated string available, it must block. In order to block, it can use the read function, which in turn will block when it doesn't have anything to fill the buffer.
Implement a function rotateArray(vector<int> arr, int r) which rotates the array by r places. Eg: 1 2 3 4 5 on being rotated by 2 gives 4 5 1 2 3.
Implement a function string balanceParenthesis(string s); which, given a string s consisting of some parentheses, returns a string s1 in which parentheses are balanced and the differences between s and s1 are minimal.
Eg: "(ab(xy)u)2)" -> "(ab(xy)u)2"
")))((" -> ""
How will you design TinyURL?
How will you design Facebook's newsfeed? The focus was on a design that could handle a huge number of status updates and display them on each of the user's friend's walls.
The following metrics were computed from 78 interview experiences for the Meta Software Engineer role in Palo Alto, California.
Meta's interview process for their Software Engineer roles in Palo Alto, California is extremely selective, failing the vast majority of engineers.
Candidates reported having good feelings for Meta's Software Engineer interview process in Palo Alto, California.