tl;dr - I will not be able to help you with a recommendation letter.
The most important thing to be aware of is that if I have not interacted you on a one-on-one basis then I can't write you an effective recommendation. Letters of the kind "X took my course and did well" are not strong letters, and are a waste of everyone's (letter writer's as well as letter reader's) time.
Even if you have attended my office hours and interacted with me throughout the semester, I still cannot effectively judge your work ethic, research abilities, or your potential to succeed in a graduate program - all the things that graduate schools want from a useful recommendation letter.
There are no exceptions to this, so please don't waste time asking me for a letter.
In case you plan to ask me for a recommendation, please remember that I'd be writing many other recommendation letters in that cycle. In order for the process to go smoothly: (1) Ask me at least two months in advance. Remember that I may still say "no", if I believe that I am not able to judge your academic skills properly. (2) Send the following materials at least one month in advance:
If you dont send these documents in time, then I may not be able to submit your letter. Also note that I strongly prefer to send all the recommendation letters to all the schools together. This way I dont accidently skip a school. So you should let me know when you are done applying to all the schools, only then will I start uploading all the letters. It is your responsibility to let me know/remind me that you have applied to all your schools.