Cook the bacon in a large nonstick skillet (or a well-seasoned cast-iron skillet) over medium-low, turning occasionally, until crisp, 10-12 minutes. Transfer bacon to a paper towel-lined plate using a slotted spoon; reserve 2 tablespoons of bacon drippings in the skillet.
While the bacon is cooking, trim the asparagus stalks into ½-inch sections, leaving the tips a bit longer and setting them aside separately.
Add the asparagus pieces to the skillet and cook over medium-high heat for just 2-3 minutes until bright green and crisp-tender. Transfer the asparagus to the plate with the bacon.
Add 1 tablespoon of olive oil to the remaining drippings in the skillet; increase heat to medium-high. Add the frozen potatoes; toss to coat and then cook in a flat layer, covered, until potatoes are crisped against the skillet, about 5 minutes. Check the pan frequently to ensure that they aren't burning. Adjust heat as needed.
Uncover the skillet and stir the potatoes, make a hole in the center and add the remaining oil. Stir in the potatoes to coat again. Cover again and continue cooking, checking frequently to ensure that they aren't burning, until all of the potatoes have browned, about 5 minutes.
When your hash browns are golden brown and crispy on both sides, return the bacon and asparagus to the skillet and toss to combine. Season to taste with salt and pepper. Sprinkle skillet with green onions and top each serving with a fried egg, if desired.