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 its position.
In OpenGL, you can use
gluLookAt to get a full camera transformation in one call. There is likely a similar call for DirectX.