It is common in many companies for there to be a two-way 6 month firing/quitting limititation, meaning: At the point the worker turns in their quitting notification, they can make an agreement with the company to be let go earlier, or the company can insist on them staying the full term. Similarly when letting a worker go, the company has to let them know 6 months before that, though the worker can agree to leave earlier.
Of course faster firings are possible as well, with "immediately" usually reserved for "breaking a law". Additionally workers can be let go early for performance reasons, but only after three separate, paper-trailed notifications of such issues. Additionally, those are unlikely to be trivial, since a worker can sue their company for the remaining wage, if fired unfairly, and if successful the company will have to pay all legal bills of both sides.
This means that both sides here tend to make a lot of effort to avoid firings. The company because it's just easier to help an employee improve, and the worker because they'll see it coming.
I've been in the situation myself where a company expected certain things of me, that just didn't fit my nature and health. We tried to improve things informally for a while and i kept failing. Then we had a serious talk and agreed that things wouldn't work like that, and now i contract for them, with both sides being very happy.
--
An important contrast between that, and the american system, is that i knew at every single point exactly how far away i was from being fired. Due to the wording of my contract, i was at all times, right up to the end, exactly 3 months away from being fired, at least. My livelihood was never in danger, and i was given plenty motivation to help both myself and my company, instead of being put into an adversarial situation.