Interviews should be in-person.
In every practical sense, online interviews are the part of the early screening process. The sheer amount of applicants means that you need to do some filtering before inviting people to do on-site interviews.
Do a first phone screening to agree on the details of the job and the salary, but the actual knowledge testing should be in person.