Does receiver always know about the noise level in real world application?
It depends somewhat on the application. For an active sonar system the receiver has to deal with the near backscatter ( reverberation) of the active pulse ( unless it is continuous wave) so there typically is some blanking and fast/slow automatic gain control using feedback.  In a passive sonar receiver, the same philosophy using feedback based AGC is typical. Similar concepts apply to some radar systems.  Down stream, there are a number of ideas used that include leaky integration to track slow variations in background, and if your detection architecture is a large number of cells like fft bins, there are schemes where means or medians of  neighbor cells adjust the gain of a particular cell.

In these kind of systems, the Neyman Pearson  criteria is used to set thresholds, so you really don’t need to know SNR, you need to have your AGC and other schemes give you a known noise variance. While an optimal likelihood ratio would include SNR as a known term, one can go with a locally optimal assumption, like a weak SNR or a generalized likelihood ratio. Neyman Pearson also circumvents having to know signal prior probabilities of occurrence.

Communication receivers also use fast/slow feedback AGC. Systems have a finite dynamic range so you have to put your signal at a reasonable operating point. This isn’t the same as knowing your SNR but an AGC lets you do things like pilot detection. If necessary, SNR becomes an online estimation and tracking problem. A clean signal is often equivalent, in a practical sense, to knowing your noise level.

There is a phenomena known as the “threshold effect” that can be explained as there being a relatively narrow range of SNR increase where performance goes from very poor to very good.  Knowing your exact SNR below this threshold range has no utility, performance is bad regardless. Knowing your exact SNR above this range is probably not consequential either.   

The answer to your question is yes, a practical receiver does need to know the noise level, but typically in the context of placing the signal at an operating point compatible with its dynamic range.  The locus of this function is AGC.  There may be additional downstream SNR processing as well. It isn’t necessarily located in a single place.  CFAR is one kind of downstream processing for radar/sonar.