Usually it is scale, then rotation and lastly translation. With matrix denotation (i.e. T for translation matrix, R for the rotation matrix and S for the scaling matrix) that would be:
T * R * S
However, if you want to rotate an object around a certain point, then it is scale, point translation, rotation and lastly object translation.
Why: First you want to scale the object so that the translations work properly. Then you rotate the axes so the translation takes place on the adjusted axes. Finally you translate the object to it's position.
In OpenGL you can use gluLookAt to get a full camera transformation in one call. There is likely a similar call for DirectX.