Applied online, got a call back quickly. Initial phone screening went well, then a more in-depth screen sharing session to see some sample code. Then... nothing. Followed up and they said they were still interested and would get back to me to schedule an on-site interview. Got told that the position was on hold. Then it was back again. Then the interviewer was going on vacation.
Eventually got sent an invitation for an on-site interview (literally months after originally applying), full day of technical interviews (8 hours, 1 person per hour). Interviews were challenging but fun and involved writing code on my computer, on the whiteboard, sketching out ideas, etc. Each person had a different focus and didn't seem to be from the same department I was applying to, some of them felt kind of like they were just being pulled in to interview people and would rather be working.
Eventually got told that although I did well in the interviews, the position had been put on hold indefinitely due to internal reorg. They were enthusiastic about promising to provide feedback but never did. Several months later the position was re-advertised on the website so I guess it came back and they were going through the whole hiring process again. Either they are very passive aggressive about rejecting candidates or it's just chaos there.
The people were great but the company seemed chaotic and disorganized. This is to be expected for a rapidly growing startup like Twitter in areas like product development, but for standard HR tasks like scheduling interviews it suggests a fundamental level of disorganization that I hope they can figure out as they scale.