Place oil in a medium skillet and add the shallots. Turn the heat to high and cook until the shallots start to bubble. Reduce heat to medium heat and cook, stirring often, until shallots are golden brown, about 12 minutes. Remove with a slotted spoon to a paper towel-lined plate. The shallots will crisp up as they cool.
Bring a large pot of salted water to a boil. Carefully add the green beans and cook until just tender, 3 to 5 minutes. Don't overcook the beans. You want them to be crisp.
Meanwhile, melt the butter in a large skillet over medium heat. Stir with a wooden spoon as it starts to foam. Remove the butter from heat as soon as it begins to turn golden brown and smells nutty. Drain the green beans and add them to the skillet with the brown butter. Toss until all of the green beans are well coated. Season with salt and black pepper, to taste.
Transfer green beans to a serving bowl or platter and top with crispy shallots and toasted hazelnuts. Serve warm.