Check collision before or after updating?

Hello everyone,
in your opinion, when coding a 2D (and probably 3D) game, is it better to check the collision between the objects (entities) of the game before or after updating and then moving them?
From what I understand, the Draw() method is called after the Update() method, so is preferable the sequence

Update() // Move the objects
CheckCollisions()
Draw()

or

CheckCollisions()
Update()
Draw()

?

After updating Update()->CheckCollisions->Draw

Because otherwise there#d be a frame delay between reaction to a collision and this can be noticeable.

Just be aware, that CheckCollision may alter the positions of some entities (bouncing back etc) - depending on what you do inside of it

I agree with you, I just wanted to hear other opinions.
Thanks