From Axler's Linear Algebra,
If $T\in L(U)$ is an operator on a finite dimensional vector space $U$, then $U$ has a basis consisting of eigenvectors if and only if there is an inner product that makes $T$ self adjoint.
I have no problem proving the statement, however I want to see if I understand the idea correctly.
A sketch of the proof in one direction:
If $(v_1,\dots ,v_m)$ is the basis consisting of eigenvectors, the point is to define an inner product make them orthogonal to each other and have unit length, specifically, define:
$$\langle a_1 v_1+\dots +a_m v_m, b_1 v_1 +\dots + b_m v_m \rangle = a_1b_1 +\dots + a_m b_m$$
With this definition, it is clear that any two eigenvectors are orthogonal, and they have length $1$ if we define norm as in the usual way.
Inspired by the problem, now my question is, is that we can define any basis to be an orthonormal basis by choosing the right inner product? In the usual way of defining dot product on $\Bbb R^n$, $\langle (a_1,\dots ,a_n), (b_1,\dots , b_n) \rangle =a_1b_1 +\dots +a_nb_n$, it is defined using the standard basis, which we chose to be orthonormal because they matches our usual idea of what perpendicular means.