But what will happen if 2 (or more) nodes will solve the next block at the same time,and they will start to build their own chain ?
Nothing. Nodes will temporarily disagree on the longest chain, but only in the very last block.
Which longest chain (if their chains has the same size) will be adopted ?
Whichever one happens to get a block mined after it first. That chain will then be definitively longer than the other one.
When (and who) decide to confirm the longest chain ?
Every node all the time. Of course, for blocks very close to the tip of the chain, you can't be confident they'll remain in the longest chain. But once you go back three blocks, confidence reaches will in excess of 99.9%. For very high value transactions, you could wait as much as six blocks.