The aim of the present work is to propose several algorithmic methods for finding in either implicit or explicit iterative ways a common fixed point of finite and infinite collections of nonexpansive self-mappings in Banach spaces. This problem is usually called the convex feasibility problem. In the case of looking for some specific common fixed point, for example, the nearest point projection of a given point onto the common fixed point set in a Hilbert space setting, it is sometimes referred to as the best approximation problem. Algorithms for finding common fixed points of nonexpansive mappings find applications in such diverse fields as decomposition methods for the numerical solution of partial differential equations, systems of linear equalities and inequalities, best approximation theory, population biology, mathematical programming, signal processing and image recovery (in particular, computer tomography). Due to their practical and theoretical applicability, algorithms for solving the convex feasibility problem continue to be an important branch of fixed point theory and to draw great attention. In the present work the following topics of that theory are addressed: constructions of sunny nonexpansive retractions in Banach spaces, block-iterative algorithms in Hilbert and Banach spaces, random products of quasi-nonexpansive mappings in Hilbert spaces, and approximations of common fixed points of nonexpansive mappings in Banach spaces. All proposed methods are provided with precise mathematical formulations and corresponding convergence theorems. The novelty of the obtained results as well as their connections to the existing ones are thoroughly discussed and analyzed. Numerical experiments are also included.