I have been reading the SHA256 hash creation with a random nonce. So, my understanding is every miner would pull uncommited transactions and would try to create a Hash of the transactions with a random nonce starting with 0 and increment from there on. So, if every node/miner is performing the same hash with the nonce sequence starting from 0, it would always be the miner with the maximum computing power always outrun the smaller ones. How would a miner with lesser computing power ever be able to create a hash quicker than the largest one?
My second question is every time a block is added to the chain, would every miner stop their current process and restart all over again since the next block would depend on the hash of the currently added block?