I applied from Canada as an overseas candidate.
After an online coding test and a technical interview with 2 engineers, I was invited to an on-site interview.
They covered the flights from-to Canada and accommodation in advance.
Before the on-site, I checked their stand and they said their impression was very positive.
On-site interview included 3 sessions, 1 hour each.
After the on-site, right in the interview room, the recruiter told me that she could not get feedback from just 1 interviewer, she already talked to the others, and they were trying to decide on the salary (she even told me what numbers they were trying to decide between).
3 days later, I got an email from her, saying they are not making the offer because my technical skills were not strong enough.
Knowing that my on-site was better than the initial 2 interview results, what I think happened is after initially telling me they cover relocation expenses such as flights, movement of stuff, initial accommodation for a few weeks, etc, they simply did not want to do it for someone coming from Canada.
Good process until the end, so bad impression...