There's 2 very different terms here many people get wrong - Overbooked, and oversold.
Overbooked means that the airline has sold more seats on a flight than the plane has. This could happen at any time before the flight occurs - even weeks before. The airline is presuming that there will be a combination of people that change their flight beforehand, don't show for the flight, miss-connect, etc - and they are hoping that the number that actually want to fly on the day is lower than the number of seats on the plane. Alternatively the airline might even swap in a larger plane to handle the extra passengers (although this is fairly rare)
No-one will ever get denied boarding just because a flight is overbooked. Some airlines, if a flight is very overbooked (especially if they have had a cancellation or had to swap in a smaller plane for some reason) might proactively offer to move passengers to a different flight, but that's basically always optional.
Oversold is a very different thing. An oversold situation occurs when the plane is sitting at the gate, and more people turn up to board it than there are seats. Obviously the flight had to be overbooked for this to occur, but the "no shows" that the airline was expecting didn't occur, and this is when people need to be denied boarding, or "bumped". By definition, oversold can only really occur within the last hour or so (or more normally, last 15-20 minutes) before the flight actually boards, as that's the only point that the airline knows that there are too many people. They might have an idea beforehand (eg, based on the number of people that have checked in, and the fact that the flights they are arriving on are not delayed), but in the days of online check-in even that isn't a guarantee that people will turn up.
What happens when a flight is oversold depends on the airline, the country (and government regulations), and even the individual gate attendants.
In general, most airlines will ask for "volunteers" to fly on a different flight. Sometimes they will be paid compensation for this, at other times it will be done on the grounds that it's a better flight (maybe a direct flight rather than a connection, so it actually gets in earlier). If enough people "volunteer", then the problem is solved.
If not enough people volunteer, then some people will need to be denied boarding. The process of selecting who gets denied depends on the airline, but as an example the US legislation around denied boarding allows this to be based on :
Boarding priority factors may include, but are not limited to, the
following: (1) A passenger's time of check-in; (2) Whether a passenger
has a seat assignment before reaching the departure gate for carriers
that assign seats; (3) The fare paid by a passenger; (4) A passenger's
frequent-flyer status; and (5) A passenger's disability or status as
an unaccompanied minor.
At least one of the major US airlines has a policy that is as simple as check-in time. The last person/people to check-in for the flight will be the first to be denied boarding - regardless of who has a seat assignment. Others will do it based on who doesn't have a seat assignment, etc.
In extreme situations it's even possible that you can have a seat assignment, but for a seat that doesn't exist. eg, if the airline decides to swap in a smaller plane (or even just a different layout for the same plane) then certain rows or seats may no longer exist, in which case even having a seat assignment won't mean much!
So yes, it is possible to be denied boarding - even if you have a seat assignment. If you're trying to minimize the chances of being denied boarding, then checking in earlier, and selecting a seat, are certainly two of the things you can do to help yourself!