Feeding depends on many factors like the size, type and number of fish, the diet preferences of your fish and the age of your fish etc.
Generally speaking, your fish should consume all of their food in 2mins or less with none to spare when it comes to foods like flakes, foods like algae wafers and catfish pelets are different though. If you have food lying around uneaten in your tank like fish flakes after 5mins, its definately a sign you are over-feeding your fish.
Smaller fish have smaller and shorter guts, in the wild most types of small fish will be used to a more or less constant supply of little snacks- they digest the food quickly and so get hungrier quicker. Big fish on the other hand have longer guts though and are often more designed to be best suited to one large but not so regular meal, like once a day or even once a week or more- big fish apreciate large but not so regular meals.
This is just generally speaking though, you cannot apply these things to all fish so you must research the diet and needs of your individual fish carefully, some fishes diet will even need to be changed as they grow- a varied diet is best for most fish, you should try to avoid depending on fish flakes too much with a lot of fish.
If you have small fish like guppys, platys, small tetras etc, they will appreiciate lots of regular but small meals in a day, like 2-4 small meals a day which they can consume very quickly.
Feeding your fish an appropriate, fresh and varied diet is one of the main keys to good health, natural behviour, good activity and vibrant colours and long life expectancy in fish
.