The first interview was a screening interview, and we discussed my experience and some of the projects in my portfolio. The interviewer asked sharp questions and answered my questions well. This was a good interview.
The next interview was a technical interview, and involved solving a brain-teaser algorithm question. If you don't know what Reverse Polish Notation is, look it up!
I have a tendency to freeze up during these types of interviews, and I didn't perform well here. The interviewer was understanding, though, which was good.
Where I think things went south, and what irritated me as an applicant, was the coding takehome I was offered. At first glance, it seems like a simple assignment to fetch data from the SpaceX API and display the data using React. What's odd is that the code you're given is outdated and intentionally badly-written. The repo says:
"... the code is intentionally a little dirty around the edges in the hopes you will show us how you would clean it up..."
I had a difficult time even getting the dependencies to finish installing so I could run the code, which was a red flag.
I find this strategy of evaluating candidates bizarre. Isn't the purpose of a takehome to test how candidates would solve a problem similar to those solved at the company? Why, then, would a company have candidates work on a code base that's badly written? Does that mean they'll be working on badly-written code if they get the job? It sends a bad message, and I found this aspect of the interview aggravating and a waste of time.