Over time most bathroom sinks and shower drains get clogged with smelly combinations of hair, soap, and grease. Many people don't want to deal with it so pour toxic chemicals down their drains to try to clear it out. However, this is expensive, dangerous, and really doesn't work well -- the chemicals don't dissolve hair effectively. Here is a quick, simple, cheap, and more effective solution -- albeit a bit stinky. Plus it is much better for our environment and world.
1) Get rubber gloves, a bucket/trashcan with liner, and either a straightened coat hanger with a small hook bent into one end or a Zip-It (Amazon, HomeDepot).
2) Remove the sink stopper/strainer or shower drain cover.
3) While wearing rubber gloves, use the coat hanger or Zip-It to snag the goopy hair balls from your drain.
4) Replace drain cover.
5) Wash sink or shower flower if necessary.
Yes this is yucky and smelly but you don't need a plumber or dangerous chemicals and it works fast.
BTW, the Zip-It works better than a coat hanger as it has more snagging hooks and bends around and thru the trap. Despite what the package says, you can (and should) carefully unsnag gunk from it and then rinse and reuse -- no need to throw it out (at least until it is truly worn out) -- just be careful, the plastic hooks are a bit sharp. For long drains use a plumbers snake but that is more work.
For more tips please read: