ESP8266 (NodeMCU) does not want to read data from Arduino UNO on UART.

You could use a circuit similar to the ones used for level shifting i2c.
The mosfets used are high speed, but you could probably get by with slower ones, if you're not communicating at high speed.
Arduino Playground has a good page on it.

There doesn't seem to be a problem with the 5V level and this is often the case as many devices have over voltage protection. What would concern me more would be the ongoing ability for the ESP to sync the current which is why a limiting resistor has been recommended. Try it and see if there is a negative impact on the transmission.

The ESP8266 (NodeMCU1.0-12E Module) could be operated as a simple UNO having Software Serial Port.

Do you really mean what you wrote ? By definition the ESP8266 can never be operated as a Uno

UKHeliBob:
Do you really mean what you wrote ? By definition the ESP8266 can never be operated as a Uno

From the very high level point of view, the NodeMCU1.0-12E Module of Post#17 is simply working as an UNO as the driving codes are simply the duplication of the codes written for UNO. In the microscopic level, the UNO contains the 8-bit ATmega328P MCU and the NodeMCU contains the Tensilica L106 32-bit MCU.

From the very high level point of view, the NodeMCU1.0-12E Module of Post#17 is simply working as an UNO

I know what you meant but you expressed it badly. The NodeMCU module is working in the same way as any other micro controller that is able to output a TTL serial stream. A Uno is one such device.

UKHeliBob:
[...]The NodeMCU module is working in the same way as any other micro controller that is able to output a TTL serial stream. A Uno is one such device.

That's an excellent example of paraphrasing from which a non-native speaker/writer can always receive inspiration for better composition.