I've had this recently with my just turned 4 DD.
You need to get really tough with her. For example - when she cries because one of the other children has her toy, let her cry, encourage the other child to play with it and reiterate to your DD that nice playing means sharing. Also, obviously, when she does share, really praise her, and I mean over the top praise, make a huge deal out of it.
If she snatches and gets angry at the other child, take it off her, give it back to the other child, remover her and again, reiterate that if she wants to play with friends, she must share, if she can't she will be separated from them. And follow this through.
She'll soon get the message, until she does though, you will feel really mean and guilty, but it does work.
As for bedtime, carry on with the routine, once story etc is finished, stay with her for a few minutes and explain that it's now bed time.
Either get an egg timer and tell her she can read or play for ten minutes til the buzzer goes off and then it's straight to sleep, or don't set a limit, but tell her that you are going downstairs for mummy time, that it's fine for her to play, look at books, sing etc, as long as she stays in her room and only comes out to ask a question if it's really important.
When she does, if it's not important, give a short answer then say, goodnight, see you in the morning. Every time!
She IS tired, she's just pushing the boundaries. It will take a few nights of her messing around and you doing the above for her to get the message, but again, she will get the message and learn that you will not tolerate it.
She just needs to re-learn how to settle herself.
I'm at the stage now where after reading DD a story, I'll ask her if she wants to read for a bit, or go straight to sleep, if she says read, she does and then goes to sleep, if she says sleep, she does!
Does your DD go to nursery where she can learn sharing skill etc? 3 is still quite young and she may still be at the stage where they play alongside but not together iyswim?