Q:

How to prevent a Twitter user from viewing my profile?

I've read on a Twitter support page that when we block a user that user will be notified that he/she has been blocked. My question is: when I block a user, that user will still be able to see my profile? Is there a way to prevent users from viewing my profile permanently?

A:

No, twitter does not actively send a notice to people that you block.
After you block them, your tweets will not show up in their feed or in conversations they view (this is something that they may notice).  If they go to your profile, they will see a message saying that you have blocked them and showing all (or nearly all?) of your profile except your tweets.
Unless you have made your tweets private, a user that you have blocked can still see all of your tweets: they can do this by logging out and then going to your profile page.

A:

Looking at the profile of someone who has blocked me (don't ask - I'm innocent), the answer is yes and no.
If they are logged in and attempt to view your profile, they can see your name, Twitter handle, profile picture and background picture.
If you do not restrict your tweets to followers only, they can just log out of Twitter and view all your tweets at the public URL.
Blocking is really used to stop them from contacting you (they cannot tweet or DM you) - not to stop them from seeing your tweets (or your profile)

