I interviewed today with a medium-size (around 100 employees) German software company. I solved all the technical questions quite well and I think I did pretty well also with HR questions. My interviewers were nice and friendly and I believe they like me and I do like them so far. One of the interviewers was the technology manager and the other was the HR manager.
After I finished the interview they showed me around the offices and then at the end they said that they usually invite candidates for 3 days to work full-time at the company. They said they do that so that they get to know me better and see me coding more than what I coded during the interview, and also said that it's a good opportunity for the candidate to see if he likes the company/atmosphere or not.
I live in the middle of Germany and I had to travel for 4 hours for the interview. They said they will invite me to stay in a hotel during the three days.
My questions:
Is it common for companies to invite candidates for couple of days like that?
Would a company invite multiple candidates for something like that or would they normally only invite the candidate that they are mostly interested in? Since they will be responsible for the costs of staying and so on.
Should I expect to be paid for the three working days?
I don't have any experience in the industry hiring processes much so that's why I'm asking!
Edit:
they also asked about my expected salary and I replied.