I want to share my interview experience with others. This was my third attempt, and I had not cleared the FB Phone Screen Interviews earlier. I appeared for Data Infra roles, and their coding questions were leetcode medium; however, Data Engineer - Analytics role has relatively a lower entry bar and I decided to aim for that role. I do not plan to share the interview questions because they are publicly available on Glassdoor. I collected a list of past interview questions (> 6 months) and practiced those questions on coderpad. I got 5 Python questions which were from the same repo with a slight change in one question (get nth key without using Python in-built DS). I took the hint and solved the problem with sorting. I aced the Python coding interview and finished 5 questions in less than 23 mins. We moved to next set of SQL questions. Again, SQL questions were from same sales, promotion schema and I had seen those questions earlier interviews. I anwsered the question in MySQL, but the interviewer insisted on using Postgres SQL which requires some special handling such as CAST etc. to confirm that you get the desired answer. Other division operator will default to INT division. It took me less than 1 min to figure out the reason, and I wrote the SQL query that produced the desired output. We worked on next set of questions which were similar (case statement, grouping and percentage etc.) but I was careful and I decided to query the sample records. I knew that promo flag is stored as either 1 or 0, but I can't write my query without seeing the data. I took time to the query sample rows to check the binary values for such field so that I can use the right filter / case statement. Again, I produced the right results. We worked on next problem which was equally ambiguous and I asked few follow up questions so that I can decide the right join type ( left vs inner join). I solved 5 SQL questions in 26 mins. We wrapped up the conversion with some mundane conversation because the interviewer has some pre-conceived bias.
I got the rejection note after two days without any specific feedback. I tried to reach out the recuriter but that was waste of my time. I am sad because I did extremly well in the interview and I could not do any better. I would encourage other candidates to prepare well but enjoy your physical and metal well being. FB DE interviews are not always worth your time and interview stress because you only need a prefect day.
In my opinion, most of the PS interviews measure two key ingredients in a candidate i.e. ’speed’ and ‘accuracy’. I do not think that one can look at code quality, test coverage and other aspects while answering 10 questions in 55 minutes. However, CoderPad is an ideal tool to measure both . CoderPad gives opportunity to execute the code and validate your answer against battery of test cases. I was very confident that I performed well in the PS coding challenge given the time and complexity of the problem and only other way to ace the test could be if you have seen the questions before. Typically, PS questions were not boiler-plate LeetCode questions and it takes time to read the question/ schema, answer your response and also validate the logic agains test cases/ expected output. I am willing to share my interview experience from other interviews that i made to onsite stage such as Apple, Lyft, Atlassian.