Have you read the book How To Talk So Kids Will Listen And Listen So Kids Will Talk? It's an absolute classic!
The original and the Little Kids version are fairly similar in their approaches, I would say the Little Kids one is a bit more up to date, but I read the original when my eldest was 3 and found it helpful then.
Also this course is great - it's free and each bit only takes about 10-15 mins and you can use it immediately. https://www.coursera.org/learn/everyday-parenting/home/welcome
Other tips from my perspective (on my third 3yo now
) are mainly to be proactive, control the environment where you can, try to see their point of view as much as you can, remembering they are only little and don't have much life experience yet and developmentally they are still tiny, even though they seem like miniature hilarious people. I remember when my friend had her second baby and she said "Sometimes I expect so much of (my toddler) and then I remember she doesn't even know what tomorrow is yet." I have never forgotten that and she must be a teenager now.
So for example if you're going into a shop, make the expectation clear before you even enter the shop - let her know if you're buying toys or not and if you are, what she's allowed to choose, this should reduce incidents of her refusing to give things up. Also, consider giving her a little job to do e.g. help you choose a birthday card for Nanny or choose what flavour of yoghurt to buy, help find the apples, count the drinks to make sure there are enough etc. Lots of praise/encouragement when she is being helpful/not destructive, too. If you feel praise is too coercive or you don't like "Good girl" you could try "Thank you for..." or "You are so helpful!"
And yes, have a back up lock for the front door that she can't reach. That's a safety essential anyway.
One thing which is quite fashionable at the moment is natural/logical consequences but IME a lot of people misuse this - first of all for a "natural" consequence what you basically want to think of this as what is the "real world consequence" ie, if a toddler did this action in a forest and no adult observed it, what would be the consequence. Sometimes it's fine and a useful teaching moment, or it's OK to let them find out for themselves - a lot of the time, it's totally useless because it's either something which is much, much, much too delayed for them to grasp (e.g. tooth decay from not brushing teeth) or it's not really aligned with what you want to teach (e.g. when Timmy takes my toy and I bonk Timmy on the head, Timmy will cry and drop the toy and I will get it back.)
So then logical is this idea that you must tie every single consequence directly to the child's action in order that it makes sense and feels "fair" to them.
Can I just save you some time - three year olds (and actually, most children of any age) DO NOT give a shit about this. When people are doing this with 3yos I tend to think that (well meaningly) they are either making a palaver over something which would be much simpler if they just had a generic consequence in mind, or they are making a solution into a punishment which is just a recipe for misery.
What I mean for example is, if you notice that your child is splashing water out of the bath and you don't want them to, you can just swap the toys for less "scoopy" ones or end bathtime, cheerfully - noting that, OK, it's the end of the day, they are feeling a bit tired and getting close to their limit here, time to move onto the next thing. Or you can tell them "Mummy told you to stop splashing, if you splash again I will get you out of the bath!" and then admonish them as you drag them out protesting and then proceed to have a miserable rest of the bedtime routine. This is a pointless threat IME because when they are this age - half the time they are going to take it as a challenge and look you directly in the eye as they do the forbidden thing on purpose, and most of the rest of the time, you could see they were in a splashy sort of mood so they're probably not going to be able to fight that impulse anyway, they're not learning a huge amount from it and it tends to derail the following activity and make everyone grumpy.
If you do decide to do consequences (generic or related) essentially, what you're doing is changing the balance of motivation. For example, my 6yo was winding my 3yo up earlier trying to get him to throw something. We are trying to de-motivate physical violence, and at this time I didn't think it was a sign that 3yo was getting close to his limit, so I reminded the 3yo that even though throwing is fun, if he threw the toy, he would have to sit in time out. He thought about it - you could see the cogs turning - and put the toy down. Then I said well done and reminded (them both) if they wanted to play a throwing game, they could throw a ball in the garden. That is a stupidly idyllic example and it doesn't always go like that
- but basically, whether I had threatened time out or the toy goes away, the effect would have been exactly the same. I don't think that he would have found it any more logical or effective if it had been related. Don't tie yourself in knots thinking every single consequence has to be related. Sometimes they just need to be simple and easy to predict/understand. If there's a really really obvious logical consequence then fine - but try not to make a solution into a punishment 
(And yes if you look up my posts from approx 2011 I am saying exactly the opposite thing - here is the benefit of hindsight!!)
In fact most often I find the most effective thing if I'm trying to get them to do a specific thing is simply to pause the next activity until they do the thing that I want them to do. That only works if you're generally good at jollying along, though. Jollying along is a key skill for three. (Or I like Janet Lansbury's word for it - "Confident momentum").