A tech company should probably require all employees to sign an NDA (or the employment contract should include a confidentiality clauses).
The NDA must be reasonable, short and easy to understand.
Now, when to ask a potential employee to sign an NDA is a little tricky, until you look at it logically.
Every contact is built on some degree of trust, if a person signs an NDA, gets you confidential information and immediately gives all the information to your competitor the damage is done, you can sue and maybe even win but the process is long and expensive and you will never be able to make the information secret again.
So, from the employee point-of-view the right time to ask someone to sign is when you decide you can trust that person - probably after you make the decision to hire him/her.
(if the information can really damage the company you shouldn't disclose it to potential employees anyway, if there's no damage you don't need an NDA)
From the honest employee point of view every NDA you ever sign is a liability, if you sign an NDA, decide not to work for that company and later get a job at a competing company you have a problem - you can be sued and the process of proving what you did or didn't reveal will be long and expensive no matter who wins the lawsuit.
So, from the employee's perspective the time to sign an NDA is when you are almost sure you are going to work for that company.
And if we look at both of those you can see the best time to sign an NDA is as part of the employment contract.
If you ask potential employees to sign an NDA on the second job interview you will only get people who are desperate or who don't take the NDA seriously to come to that interview - so there is no point in doing it.
And if you can't complete a job interview process without disclosing your secrets you have a bigger problem - what do you do when a customer asks the same questions? ask the customer to sign an NDA before the sale?