Finite Element Methods for Interface Problems with Mesh Adaptivity