I used a natural ridge as a back stop, and built a wall 2 tiles high on three sides. They came swarming in over the ridge the first night. They can obviously zero in on you without a line of sight. Then I made the wall three blocks high, and dug out the ridge to make sure the exterior height was three all around. And still got killed. Didn't see them spawn in, but they were there. Two, then a third, and a fourth, etc. Finally, after getting killed again, I stayed in an interior corner to see how this was happening, and two of them dropped on me from above. I don't know if they spawned that way or how they got over or across the wall, but I'm telling ya, they came from above and dropped down on me from the top of my own wall.
The effort to keep them off of you at night is just bloody ridiculous.