`RandomVariate[NormalDistribution[], {r, r}]` does not give you normalized eigenvectors. To obtain an orthonormal basis, you can first generate a random matrix, and then apply Orthogonalize to it. Following is the correct code.

 r=4;(*matrix dimension*)
 dom={1,10};(*domain of random numbers*)
 eig=DiagonalMatrix[-RandomInteger[dom,r]] (*eigenvalues in diagonal matrix*)
 v=Orthogonalize@RandomReal[{-1,1},{r,r}](*orthonormal eigenvectors*)
 A=Transpose[v].eig.v
 Eigenvalues[A]