The whole process took me about 2 months but the company messed up with their recruitment policy. I applied online, went through the phone interview with the manager, got offered the internship, and waited for another 2 weeks for HR's background check. Until April did the HR person withdraw their offer and disqualify me for needing a work sponsorship in the future, but not during this summer internship. The worst part was that they didn't bother checking this ahead before offering me the job, and wait until it's too late for me to find another summer job to give me the update. It was very difficult contacting them through email and the manager who interviewed me didn't bother to reply to me in the end.