I applied through a recruiter. The process took 3 months. I interviewed at Spark Systems (Singapore)
Interview
1 Phone interview
1 On-site interview.
Their HR will spend weeks to give back the result. There were around 3 weeks between I give them my CV and phone interview, and another 3 weeks between phone interview and on-site interview, and another 3 weeks between the last interview and the offer.
(On-site) Review program. (Points about using exception, overwrite equals, overwrite hash, and more.)
(On-site) Write program. About parallel programming. Program multiple-thread in Java.