Should I fill every face include invisible one? Often, I overlap two meshes together to make some desired geometry. In this case, there are always invisible faces.

When I was just beginner, I made some bad topology sometimes, and this makes bad UV results. Maybe that's why I try to fill every faces even they are invisible, because I had bad experience with empty faces in invisible geometry.

(I think those problems were coming from duplicated vertices, maybe)

The problem is that when I'm making textures, invisible area still takes texture spaces even they are invisible, and sometimes it takes a lot, depending on size of the faces.

So theoretically, I can get more spaces to make more high resolution texture by riding off those invisible faces from UV.

Does it matter that remove invisible faces? Should I fill every face include invisible area?

Any advice will very appreciate it.
Removing the invisible faces means less things to render, which will save you time and require less processing power. So I would advise to get rid of invisble faces and everything that won't be shown in the final render.

I would suggest using a Boolean > Union to unite the two meshes once you have managed to create your desired geometry. It will turn the two meshes into one and remove all the invisble parts without requiring you to do it manually, which can quickly become tedious.

Of course, always make sure that you have copies of the original meshes, in case the Boolean operation gives you trouble and messes things up. It can happen, depending on the meshes involved, their complexity, level of detail and many other factors.