In a small bowl, whisk together the olive oil, lime juice, chili powder, garlic powder, onion powder, cumin, salt, black pepper, and cayenne pepper if using.
Place the flank steak in a large resealable plastic bag or shallow dish. Pour the marinade over the steak, ensuring it is well coated. Seal the bag or cover the dish and refrigerate for at least 1 hour, or up to 8 hours for more flavor.
Preheat your grill or grill pan over medium-high heat.
Remove the steak from the marinade and let any excess drip off. Discard the marinade.
Grill the flank steak for about 5-7 minutes on each side for medium-rare, or until it reaches your desired doneness.
Remove the steak from the grill and let it rest for 5-10 minutes before slicing.
Slice the steak against the grain into thin strips and garnish with chopped cilantro before serving.