Bring a medium pot of water to boil over high heat. Add green beans; cook, undisturbed, until tender, about 5 minutes.
Meanwhile, fill a large bowl with ice and water. Transfer the beans to the ice bath; let stand until completely cooled, about 6 minutes. Transfer the cooled beans to a kitchen towel; pat dry.
Meanwhile, whisk vinegar, shallot, honey, lemon juice and mustard together in a large bowl until fully combined. Gradually add oil in a thin, steady stream, whisking until emulsified. Whisk in ¼ teaspoon salt, pepper and garlic powder.
Add the beans, tomatoes, onion, half of the feta and the remaining ¼ teaspoon salt to the dressing in the bowl; toss until evenly coated.
Transfer to a serving dish and top with the remaining feta. Garnish with lemon zest, if desired.
