The first step was a phone screening with a recruiter. Most of the screening consisted of the recruiter telling me about the company and also giving me information about the Washington DC area. He also said that it wasn't a deal breaker that I didn't know AWS. At the end, he said to expect to be contacted by a different recruiter and to do a technical assessment. He also advised me to research what Fannie Mae does as a company. Strangely enough, I was never asked what they do throughout the interview process.
A few business days later, I was contacted by the 2nd recruiter and given a link to a technical assessment. 10 multiple choice and 2 coding questions on HackerRank. You get 90 minutes to complete it. The multiple choice questions consisted of CSS, REST, Java multithreading, and AWS questions. Naturally, most of it went way over my head. One of the coding questions was easy and the other one was a more difficult Leetcode type question.
Some days later, the recruiter emailed me saying they wanted to move forward to the final interview stage and that they would need a 3 hour block. I was a bit surprised because I didn't think I did that well in the technical assessment. I gave him my availability and I got an email a couple days later with the invite for the final interviews. I was told that they hope to give me an answer by the end of the day after.
There were 3 video interviews within a 3.25 hour block with breaks in between. Each was scheduled to be 45 minutes. The first one was a behavioral interview. Most of it was questions about what I do in my current job and how I'd fit in the company. There weren't really any curveball questions. Overall, I thought this one went fairly well. It only took 20 minutes though.
The second one was a technical interview. I was asked fairly obscure questions about Java, Maven, etc. I was able to answer some of them but overall, I didn't think I did that well.
The third one was a problem solving interview. It was a mix of writing a pseudocode algorithm and obscure "real world" software development questions. I did fine with the pseudocode part but struggled with the rest of the interview.
As promised, I got a call from the recruiter the day after saying I wasn't selected.