First of all, you have to check if both videos have the same frame rate.
If yes, then all you have to do is find the same spot at the beginning of both videos and sync them at the same time, the end.
However, based on your question, most likely you are dealing with distinct fps, so it will be tricky. You will have to change the speed of one of the clips.
This will lead to: a) freeze frames (if you are slowing down) or b) dropped frames (if you are speeding up). Not a problem unless you are dealing with professional movies or premium streaming platforms.
Now, to achieve that, I usually work using markers for remarkable events at the beginning and at the end of the videos, like this:
As you can see, the first event is in sync at both clips (green markers). But at the end of the clips, due to different frame rates (meaning speed), a second event is happening before in one of the clips (red markers).
So you will have to either slow down one of them or speed up the other in order to match the tempo.
In this case I have experimented something like this, using the speed icon and clicking "Custom Speed":
(You may also use contrl + option + R)
And try, let's say, 90% or 95%.
In my case, that was too much. Now the top clip is way too slow and the red marker is beyond the other one.
This is a perfect moment to use that handy tool at the end of the clip:
It will adjust the speed using a visual reference.
Just click and drag so both markers are in sync.
Cool right? Well, not really.
Since you are messing with the speed of the whole clip, now the green ones are slightly out of sync.
Drag the top clip back so they match.
Of course, at the red markers the situation isn't perfect again, but we are getting closer.
Repeat the process a few more times, until everything is aligned.
You will notice that the custom speed is something crazy like, in my case, 95.97%
The point is, you are able to get things done.
I know it is a very manual, weird solution, but it works.