They are void under Cal. Bus. & Prof. Code § 16600.
The California courts have decided that California's policy against them is so strong that when California is applying another state's law under California's choice of law rules, they will be treated as void even if they are acceptable in that other state's law.
(A lot of people don't realize that courts will use law from other states when appropriate. For example, if you and I enter into a contract in Washington, and then we get into a dispute over that contract in Nevada and one of us sues the other in Nevada, the Nevada court will apply Washington contract law. It will use Nevada rules of civil procedure. I don't recall, but I think it uses Nevada rules of evidence, too).
There's one unsettled situation, I believe. That would be where we have a non-compete, and it goes to court in a state that enforces non-competes, and plaintiff wins, and then plaintiff tries to have the judgement enforced in California. The Full Faith and Credit clause of the Constitution would seem to require California to enforce the judgement, assuming that the other state's court had personal jurisdiction over the defendant when it ruled. (States generally have to enforce judgements from other states, even if the case would not have gone the same way under their law).