Mobs cannot see you through any full block, regardless of whether light can pass through said block (glass, leaves, etc) or not.
Mobs can see you through the gaps in slabs and stairs, including the larger gaps you can create when you place 4 stairs so that their "uprights" (the part you walk on) face towards each other. These gaps are not aligned to the block grid, though, so in cases where there's enough space for the player/mobs to physically walk through the wall mobs will probably not do so because all they see is a full block that must be gone around.
Obviously, mobs can see you through open gates and doors.
Bear in mind that the above is a line-of-sight thing that leads to aggro/interaction with the player. For some reason I don't yet fathom, mobs are actually coded with a routine that makes them look directly at you through blocks even though they aren't really able to see you.