A staple question with a crisp, provable answer.
The result for calls
Never exercise an American call early on a non-dividend-paying stock.
Two ways to see it:
Time value. An option's price is intrinsic value plus time value, and time value is strictly positive before expiry. Exercising captures only the intrinsic value, so you throw away the rest. Selling the option instead always yields more.
Interest. Exercising means paying the strike now rather than later. Holding lets you keep earning interest on that cash, and preserves the insurance against the stock falling below the strike.
So an American call on a non-dividend stock is worth exactly the same as the European one - which is why put-call parity holds for it as an equality.
The dividend exception
If the stock pays a dividend, the price drops by roughly the dividend on the ex-date, and option holders do not receive it.
So it can be optimal to exercise just before the ex-dividend date, if the dividend exceeds the remaining time value. This is the only case for early call exercise, and interviewers ask about it specifically.
Puts are different
An American put can be worth exercising early.
If the stock falls to near zero, the put is worth close to the strike and can rise no further - the upside is capped. Exercising now gets you the strike in cash, which you can invest. Waiting earns you nothing more and forgoes the interest.
So deep in-the-money puts, especially with high interest rates and long to expiry, are exercised early. An American put is therefore worth strictly more than a European one, and parity becomes an inequality.
The asymmetry
Worth stating explicitly: the call's upside is unbounded so there is always something to wait for, while the put's payoff is capped at the strike so waiting eventually has no value. That asymmetry is the whole answer.
Practise in finance and derivatives.