Don't sign it right away if you don't agree - that's the worst thing you can do. Once you put your signature on it, that clause becomes binding and it gets much harder to challenge it later. What you can do is negotiate. Before refusing the offer, respond that you accept the position but the clause is problematic for you and ask them to modify it. Many startups have standard clauses in their contracts that are actually negotiable, especially if you're good at what you do.
In Italy, non-competes have legal limits: generally they need to be reasonable in terms of duration, geographic area, and type of activity. Three years for anyone in IT is very aggressive. Try proposing alternatives: maybe a shorter duration (12-18 months), or a limited geographic area (Milan and surrounding areas instead of all of Italy), or something more specific (you can't work only for a direct competitor, not for anyone doing IT). If they really won't accept any compromise, you can refuse the offer - it's not illegal for them to withdraw the proposal, unfortunately, but at least you won't have signed something that ties your hands.
If you want more guarantees, you could consult an employment lawyer (it won't cost too much for a brief consultation), but honestly I'd try negotiating directly with them first. Startups hire because they need you, so they have an incentive to find an agreement.