Relatively efficient and realistic process overall. It started with an initial call to just chat about the position, and then after that it was a meet and greet with the team that included a technical interview and no more interviews after that. The technical portion was pretty much just to ensure you understand development concepts and have good fundamentals without any tricky / Hacker Rank type stuff, which is how it should be in my opinion.
During the technical portion, I wrote a solution in Java (which is the primary language for their product at this location) for their proposed question, and afterwards they asked about what other approaches I could think of, and asked some questions about features of the language to see if I was aware of them and understood them.
One of the questions asked for example was "Why are strings immutable in Java" and instead of answering the question directly with a short answer, I wanted to demonstrate my understanding of strings in Java by saying something along the lines of:
"Well, it kinda just is. I wouldn't exactly be able to tell you why they designed it that way, but I do know that strings are normally stored in the string pool and strings are really just references to them. With that in mind, if a new string shares the same contents as another one, it will simply point to the existing string in the pool, which would allow == to return True if used to compare, but that is really just a reference equality check. Using == to check if strings are equal can lead to problems because if you allocate a string to the heap instead of the string pool by using new String(), the reference equality check would fail. You should always use .equals() to check equality, unless you're specifically wanting to check for reference equality."
I went into a bit of detail about my understanding of strings in Java to demonstrate that I understood the underlying mechanisms of the language, which I assume is what they were looking for rather than a specific answer, and I felt this helped portray just that.
Other general interview questions that were brought up was stuff like "Walk us through the process of a previous professional experience that was particularly hard or tricky for you to solve" and "What are some ways to use Maps in Java?". Pretty standard stuff that shouldn't be hard for anyone with experience to delve into. There's not really a "right" answer to many of these types of questions, but rather it's a gauge on your depth of experience.
Afterwards we sorta just bat the breeze for another 15 minutes. I asked about things the team was working on at the time, shared some personal experiences that related to things they were working on, general rapport building. All in all it was a great experience, easily one of the most reasonable and efficient interview processes I've ever done.