Does it only require two waves of the same frequency / wavelength travelling in opposite directions? My teacher says that one wave needs to be reflected and then superimpose with this reflection for a stationary wave to form. Also, aren't stationary waves only formed at resonant frequencies?
All a "perfect" reflection does for you is to guarantee a wave which is travelling in the opposite direction to the incident wave and also having the same frequency/wavelength and amplitude (which you missed) as the incident wave.
Even if the reflector is not perfect there will be variations in amplitude at different positions but there will be no positions of zero amplitude.
The idea of resonant frequencies crops up with waves which are bounded and the amplitudes of the standing wave of particular wavelengths (frequencies) which are produced are large.
At the boundaries certain conditions have to be satisfied eg node at the end of a clamped vibrating string, displacement node (pressure antinode) at the closed end of a tube and displacement antinode (pressure node) near the end of the open end of a tube, . . . . etc.
So you have to ensure that the standing wave "fits into" these boundary conditions which in turn means that the wavelength (frequency) of the wave can only have certain values.
The losses of energy at the reflecting surfaces and elsewhere can be made up by the energy supplied by a driver eg a bow, musician blowing air, etc and this will maintain the standing wave.