In my understanding, a J1 holder should be returned to HOME country for two years after two years'stay in US, and a H1B holder should go out of US for one year to get a new H1B, no matter whichever country he/she goes to. Am I right? Correct me if I am wrong. If someone stays in US for 6 years with H4, and then find out a job, does he/she also need to go out of US for one year to get H1B?