Do Full Nodes perform Proof of Work to validate a Block? I do understand that Full Nodes validate all transactions twice based upon the public key of the users. Firstly, once a transaction is unconfirmed and secondly the transactions that have been mined in a block. My Question is do the Full Nodes also perform Proof of Work to confirm the validity of a Block or not?
Hashcash-style proof of work is a simple search process: Try lots of nonce values until you get an acceptable solution.  To verify a node simply just has to try one value, the one the miner provided.  So it uses the same test but does not search, as a result it does very little work.

The Bitcoin software hasn't really validated transactions twice since 2012. Caching is used to reuse the validation effort from the first time the transaction was seen, especially for the digital signature verification.

Very careful engineering has been required to make sure that the handling of unconfirmed transactions can't accidentally cause invalid blocks to pass. This is especially a concern because complications like locktimes and soft-forks can make the validity of a transaction some what conditional. But in the latest software really the only validation needed at block time of an already seen transaction is the locktimes and double spending checks.