Had the exact same experience as someone else here. Had initial screening, then leetcode technical interview, then 2 back to back behavioural interviews, then finally an in-person system design interview. All went relatively smoothly and I recieved a "congratulations" email just a few days after the final round saying I had passed the final interview, but they still need to make final decisions. I even got a call from my HR contact the following week basically saying an offer was "very likely" and I should expect to recieve it by the end of the week. That was pushed another week. Then another. Eventually she invited me to a call with a hiring manager, which was described as a "final step". This call was basically a casual chat with the manager, which I thought went well. Then another week passes. I ask her again for updates, and she hits me with the generic "at this time we've decided to move forward with other candidates". Extremely frustrating after over a month of waiting, and lots of false hope. Also, it was extremely weird to attend the "candidate mixer" the evening before the final interview, where they treated us with free food and drinks, and talked to us as if we were already hired.