In a medium bowl, whisk together lime juice, olive oil, chopped cilantro, minced garlic, cumin, chili powder, salt, and black pepper.
Place flank steak in a resealable bag or shallow dish. Pour marinade over the steak and coat well. Seal or cover and refrigerate for at least 30 minutes, preferably 2-4 hours.
Cook rice according to package directions.
Heat black beans in a small saucepan over medium heat for about 5 minutes. Season with a pinch of salt or cumin if desired. Cook corn if using fresh (boil or sauté briefly), or heat frozen corn as needed.
Preheat grill or grill pan to medium-high heat and lightly oil it.
Remove steak from marinade, letting excess drip off. Discard remaining marinade.
Grill steak for 4-5 minutes per side for medium-rare (internal temp 130°F), or adjust for desired doneness.
Let steak rest for 5-10 minutes, then slice thinly against the grain.
Divide rice into bowls. Add black beans, corn, cherry tomatoes, avocado slices, and red onion.
Top with sliced steak and crumbled feta if using. Garnish with extra cilantro and lime wedges. Serve immediately.