I built this house in Superflat. The house is just huge and it's got several rooms(more than 10). I can't figure out how to keep the monsters out. I have all entrances to the house covered but the endermen just pop in somehow. How do I stop it?
You can prevent mobs spawning by providing enough lighting.
However, Endermen can still teleport inside your building. According to http://minecraft.gamepedia.com/Enderman when they teleport, they must do so to a block made from movement-blocking material (i.e. blocks you cannot move through, but suffocate from, see http://minecraft.gamepedia.com/Materials#cite_note-4) such as dirt.
They however cannot teleport there if they would land inside a solid block (blocks with a collision box, i.e. you can stand on them, see: http://minecraft.gamepedia.com/Solid_block). Thus endermen typically need at least three non-solid blocks above the destination (the movement-blocking block) to successfully teleport.
Knowing this, the ways to prevent them from teleporting into your abode would be to make your rooms 2 blocks high, with a solid block as the ceiling or, alternatively, make your floor out of blocks from non-movement-blocking material.
Note however that the wiki is not very specific about the effect of the material on certain block types. For example, stone is listed as a movement-blocking material, but stone slabs do not block movement. Some testing should clear that up. Simple create a new custom super-flat world with the top-layer being from the material you want to test with. See http://minecraft.gamepedia.com/Superflat for detailed info on how to do that, specifically the preset code format section and below. Of course, setting your world to Peaceful will prevent all hostile mobs from spawning....
Endermen and other mobs will not spawn on non-solid blocks such as glass, glowstone, or slabs. Endermen also have the limitation of being three blocks tall, so any height less than 3 blocks will keep them from teleporting in.
Since it looks like you are working on building pretty, I am going to give you a few specific suggestions:
1) Place half-slabs on the ceiling, so endermen cannot teleport in. This is a method used in End Farms to prevent endermen from escaping from the farm.
2) Build a moat that is 65 blocks wide. Enderman teleport distance is up to 32 blocks along an horizontal axis, and teleporting into water will cause the enderman to teleport randomly again. By making the moat that wide, the chances of the enderman teleporting past the moat and into your build are astronomically low.
3) Mobs will not spawn within a 24 block cuboid of the player, and immediately despawn when outside of 128 blocks unless they are named or trapped with less than 24 blocks they can move in any direction. So, rather than a moat of water, you can either place non-spawnable blocks on the ground (such as slabs) between 24 and 128 blocks from the furthest points in your house, including points where you fly to, -or- make sure all of those areas are above light level 7 AND you are always within 24 blocks of all points on your house. If you go with this option, make sure your house is well-lit, even on the roof, otherwise your house will be the only spawnable location for mobs.
Hope this helps!
An Enderman will only attack players who look at his eyes or attacked him first.
So just increase the volume of your game's sound while playing, so when an enderman teleports inside, you will instantly realize this from their special sound, and then make sure you don't look at them into their eyes.
That's it. Even if one appears right in front of you don't panic, calm down and just turn your head away from their scary eyes.