How to fix the weird surface in fluid object
The issue is caused by insufficient domain voxel resolution. If you don't want to do high resolution such that these artifacts are not visible, you can:


smooth it with sculpting manually, but this is only viable for still images, this will be very time consuming for an animation.
design the fluid in such a way it will fully intersect with the inner surface of the glass. Then you can create a special mesh that represents the glasses inner volume and do a boolean intersection with the fluid. The problem is that a fluid simulation can lead to some non-manifold meshes (water droplets joined in single vertex where the voxels meet) and the boolean operation in Blender will fail for some frames. You can apply some smooth to the fluid with modifiers before the boolean one - this should further mitigate the problem of failing boolean, but it does not solve it completely. You can correct the failed frames manually, or use another software that has more robust boolean algorithms to do non-manifold booleans (CGAL, Houdini, ..).