It really depends on where and why the drug test is being administered. Most commonly they will test for amphetamines, cocaine, THC, methamphetamine, and opiates.
Yes there is a hair test they can do and find traces of drugs up to 3 years ago depending on the length of your hair.
DNA or Drugs
The only way to reliably pass a drug test is to simply not do the drugs they are testing for.
No. They test hair for length, durability, and whether the donor followed the necessary directions in shipping their hair samples. Drugs abused or taken by the donor is an unrelated factor.
Not doing drugs.
Taking drugs
Urine, blood and hair are commonly tested for drugs.
No. Drugs are bad. Children shouldn't be in households where they are exposed to drugs.
Shave your hair off, and stop taking drugs.
No, not if you aren't doing them.
Of course it will. Most drugs other than alcohol, will remain in hair follicles for the standard 90 day test. And don't be fooled into buying "special shampoos or rinses" A hair follicle test goes into the hair, not on it. They extract the drugs from grinding up the hair and extracting whatever drugs you've used 90 days ago or longer.
No. Drugs stay in the hair for weeks.