Finished my E4 interviews yesterday and at the time I felt like I did well but with retrospect realizing that I probably did poorly.
I do however think my first interviewer kept correcting me while I was trying to write my approach without giving me the space to refine my answer myself, that was really frustrating.
Only one question appeared from the list of Meta questions I prepped (system design was not seen before) so all bets were off there.
I was able to get naive approaches to everything immediately and largely optimal answers but I have a bad habit of reading too quicky, bumping my head a little, and getting into a cycle of Q/A with the interviewer that I have to imagine is read negatively.
Questions came in increasing difficulty.
Interview One:
LC Easy (If you read it right the first time Q.Q)
LC Easy-Medium (If you remember you can use objects as a key in a hashmap....)
Interview Two:
LC Medium
LC Hard (Derived optimal core algorithm, was unable to implement in time.)
I'm currenty expecting rejection due to fumbling around with the interviewer in interview one and not producing a working solution for the LC Hard.
If there is ANY advice I can give someone who is about to interview for E4 it's firstly, make sure you're prepped with the Meta tagged LC questions / HelloInterview System Design and secondly:
Slow down, read through the problem out loud, and explain what you think the problem is asking you to the interviewer, these problems are often worded pretty confusingly and that's intentional.
Really verbally explain how you're going to solve the problem before you begin writing code.
If I had just slowed down, I really believe that would've been the difference between an offer and the rejection I am expecting, but I also will learn from this so I regard it as a positive experience.
We always gotta keep looking forward, learn from our mistakes, and try our best.
Edit: I have received a rejection.