delete overlapped part of faces
AFAIK there is no one-klick method for this and every possible way to pull this off requires a decent amount of work. Let's break down what we actually can do with the limited information about your model/scene you provide. 

Let's assume (by the look of the screenshots) that your model is a minecraft-like structure where the original blocks (before joining) only touch each other's faces and never intersect and they also don't have merged vertices. What we then can do with this, is separating the model into individual primitives quite easily. 

Tab into edit mode, hit A to select everything, then P to start separating and select "by loose parts" in the menu. 



Now, that we have separate blocks we could try combining the meshes step by step using the boolean modifier with the union operator. 

The bad news is that the boolean modifier might not work as expected on many occasions (if you have mesh intersections or the meshes simply have no connecting faces...) and with "more than a thousand" partly hidden faces this method will be so much work that you easily could reconstruct your model from scratch as well.