Reheating after inflation occurs due to particle production by the oscillating inflaton field. In this paper we describe the perturbative approach to reheating, and then concentrate on effects beyond the perturbation theory. They are related to the stage of parametric resonance called preheating. It may occur in an expanding universe if the initial amplitude of oscillations of the inflaton field is large enough. We investigate a simple model of a massive inflaton field coupled to another scalar field X. Parametric resonance in this model is very broad. It occurs in a very unusual stochastic manner, which is different from the parametric resonance in the case when the expansion of the universe is neglected. Quantum fields interacting with the oscillating inflaton field experience a series of kicks which occur with phases uncorrelated to each other. We call this process stochastic resonance. We develop the theory of preheating taking into account the expansion of the universe and backreaction of produced particles, including the effects of rescattering. The process of preheating can be divided into several distinct stages. At the first stage the backreaction of created particles is not important. At the second stage backreaction increases the frequency of oscillations of the inflaton field, which makes the process even more efficient than before. Then the effects related to scattering of X-particles terminate the resonance. We calculate the density of X-particles and their quantum fluctuations with all backreaction effects taken into account. This allows us to find the range of masses and coupling constants for which one has efficient preheating. In particular, under certain conditions this process may produce particles with a mass much greater than the mass of the inflaton field.