The process started with a phone screen with a recruiter, followed by another phone screen with a software engineer. These were largely about background, though the second interview involved a straightforward question about using a data structure to store a music player queue. After the phone screens, they invited me to take a battery of (relatively easy) assessments, before inviting me over to Tysons for an interview.
The Tysons interview consisted of a project demo, a technical interview, a HR interview and another test, this time in HackerRank and focused on software engineering concepts. The interview concluded with them inviting us up to the executive floor to have lunch with a number of employees. So far, so good.
After waiting around for a while, I received a call from the recruiter to discuss my immigration status. She told me that they would like to make me an offer, but the fact that I don't have a CS degree would pose a problem for my future H-1B application, and therefore they will not make the offer, unless I could meet a few conditions (obtaining eligibility for the F-1 OPT STEM extension). After going through a lot of trouble to satisfy the requirements, the issue got caught up with the immigration department and ultimately I received a negative reply despite earlier promises. If you're an unconventional aspiring engineer, I wouldn't recommend interviewing here.