I interviewed for an E4 Software Engineer position at Meta and did not receive an offer; I was unsuccessful at the onsite stage.
The system design portion felt positive as it was similar to a question I had encountered at another company, and I had reviewed solutions beforehand. My behavioral questions went well, and the interviewer seemed pleased.
I solved all coding questions within seven minutes each, which included five minutes for clarification, outlining approaches and trade-offs, and two minutes for coding. I addressed nearly every follow-up question the interviewer asked. The only area where I fell short was optimizing a difficult problem; I had a solution with O(n log n) time complexity due to using a sorting algorithm, which functionally solved the problem, but I couldn't devise an O(n) solution. Instead of pursuing an O(n) solution, I explained to the interviewer why I believed an O(n) solution wasn't feasible. It turned out that an O(n) solution exists and uses the same approach as mine but employs bucket sort instead of the built-in sort function.
My question is: Did my inability to optimize the solution to remove the log n factor contribute to my unsuccessful outcome? I've heard that Meta places significant emphasis on finding the most optimal solution.