In job application page, for the user haven't log in or signup, after we clicked the "Apply Now" button. It will open a new tab for signup? pop up for signup? or same page but different link to sign up? Which one is better? and why?
So the boiled down version of your situation is, the user asks to perform task A (apply for a job), but before you allow them to do that, you have to run them through task B (sign up for the site), and you're asking what's the best UI mechanism for returning them to task A after forcing them through task B.
The answer is don't do that. Users resent being diverted from what they wanted to do into some other task. It's annoying to be told "you can't do that, you have to do this other thing first" -- you'll lose a lot of potential customers when they get hit by that signup form instead of the application form they expected.
This doesn't mean you can't ask, or even require, the user to do task B before task A -- often that's essential for technical or for business reasons. What it means is that you have to design your workflow such that the user doesn't feel like they've been diverted to another task.
In other words, signing up for the site and applying for a job should have the appearance of being a single task, even though under the hood there are two separate things going on. This way the user doesn't feel like they'e been diverted or interrupted; they feel like they're doing what they intended to do.
This presents a clear answer to your original question of should it be in the same window or a popup / new window: a popup (whether it's literally a new browser window or an in-page modal) really hammers in the perception that "this is a separate task, it's an interruption". That's not what you want at all.
Instead, combine the signup and job application into a single, unified form -- signing up for the site should just be a couple of extra input fields that are part of the job application process; couched as a benefit for the user rather than as an interruption. (They need to sign up for the site in order to be able to find out whether they got the job, right?) Keep it as simple as possible and only ask for the information you absolutely need; once you've got them signed up they can always come back to flesh out their profile later on.
wider issue is you are placing a barrier between the users intention (apply for a job) and the application.
If I hit Apply now and was hit with a signup form I'd go to another job website.
But to answer your question you will need to direct users to a function where they can Apply just by entering an email. Use modal/card, inline or very unobtrusive method where they can return to the previous state easily. New page? Nope, too much interface change/loss of context.
When the user enters email you can email the final steps needed to complete the signup process.
Summary: combine signup and apply into one step via use of single 'email' field in card/modal/inline.
Drawback: if the user doesn't do anything with the email they won't be able to use your website to check on the progress of the application. It will be applied for, of course, and it will be up to the agent at the other end of the application to feedback progress
Let the user apply with the very basic information. At this point, you should accept application without signing up. Once the application is successful, you can display an option saying "Add a password and we will create a profile for you. Your entered data will be saved in the profile."
This way, user will have an option to just add one extra information, and register with ease. If the user is not willing to register, you can't hold them back. Because in the end, "no of registrations" is not a valid metric for success here. The valid metric will be "no of applications received".
But consider a scenario
You might have a case where applying requires user to register compulsorily. Maybe it is the case where you want to retain user data for other opportunities. Maybe your company wants user to register and pay some money to apply for job. In these cases, it is better to just move to the next page when user clicks "apply now". That next page should be your login/registration page. And once registration is complete, you can move the user to the next page in application process. This should save you a lot of time in creating a new page, and will give user the same login page that they expect on a website.
But this should be used as little as possible. Idea is to not get into the way of your user till his/her action is complete. After the action is complete, you can suggest options to try.
Another thing. Say goodbye to modal popup or even popups in general. Most browsers disable popup by default and your user might not even be aware if a popup was blocked or if your website didn't respond. So, reduce popup to minimum. Ideal count of popups in an application is zero. Even moving to a new page is better than popup, because then navigation and maintaining states are your responsibility. In case of popup, it is user's responsibility to switch, which is never a good idea.
To this question, I would propose 2 different scenarios:
If a user without an account CAN apply for a job, then simply let them complete the application, and afterwards offer him the option to create an account (as mentioned in other answers). Preferably with a non-blocking opt-in.
If a user without an account CANNOT apply, and has to create account first, then do not show the Apply Now button. Because the user is likely to think they can apply without an account. And whichever flow you present after, they are likely to be disappointed. Instead I would suggest to show a "Log in or Sign Up to apply" button, which will first let them log in/ sign up, followed by the apply flow.
it is basedon one of the heuristic
principle Flexibility and efficiency of use
as mentioned in https://www.nngroup.com/articles/ten-usability-heuristics/`
according to it I prefer to see in a new tab, as i might comeback to previous tab to see some information which i may want to see and do my work in new tab with ease,