I'm still pretty new to Dwarf Fortress, and for the first time today I was ambushed by goblins. Now, my only squad was asleep and I lost a couple of good dwarves before they woke up. So of course, I make a second squad as soon as a new group of immigrants show up. Now, this works for a little while, a few little groups show up, and get slaughtered with minimal injuries on my side (I love crossbows), but suddenly two groups show up at once and slaughter an entire squad. Then, a third group shows. A group of marksmen. I lost more than 10 dwarves to them, we didn't kill a single one either. If they hadn't simply passed by they would've killed everyone.
Now I want to be prepared. I built a wall around my surface entrances. It'll have two floors (I'm right next to a hill so I want one entrance leading out there, and one on the ground floor). I dug a pit which I'm going to place a retracting bridge over, and on the second floor another bridge the leads to the hill.
Now with the siege engines, I want to place a ballista at each of the two entrances. The wiki article suggested it's hard to get enemies in the sights of a ballista, so I figure placing them at the two choke points are going to be the most likely means of getting them to actually hit enemies. This may be a bad idea, it might get my dwarves killed for all I know. On the second floor, I want to place a Catapult on each corner, but this would be useless if Catapults cannot aim across the Z axis, so I want to be sure I'm not going to be wasting my time. Also, I've placed fortifications every few spaces on the first floor, and I'll be placing them all over the place on the second. I'm not sure if this is smart, should I have very few of them or should I forgo walls in favor of fortifications?