Si una matriz (real) es simétrica (más generalmente, si una matriz compleja es normal), entonces los vectores propios correspondientes a espacios propios distintos son ortogonales (para una buena explicación, véase este post aquí ).
(Nota: debe revisar su cálculo de los vectores propios, porque su segundo vector propio con valor propio $6$ no es ortogonal al vector propio con valor propio $3$ y, de hecho, ni siquiera es un vector propio. Creo que debería serlo:
$$\begin{bmatrix} -1 \\0 \\1\end{bmatrix}$$
El Proceso de Gram Schmidt es un algoritmo que convierte una base en una base ortogonal, los detalles del algoritmo se pueden encontrar aquí o en cualquier libro de texto de álgebra lineal estándar.
Por lo tanto, la ejecución de este algoritmo en cada una de sus bases producirá bases ortogonales para cada espacio propio, y como los vectores propios correspondientes a espacios propios distintos son ortogonales (su matriz es simétrica), la concatenación de las bases formará una base ortonormal de vectores propios.
Como este caso es lo suficientemente pequeño, ni siquiera necesitamos utilizar la Gram-Schmidt, sólo tenemos que encontrar dos vectores en el tramo de los vectores propios con valor propio $6$ que son ortogonales, y serán ortogonales a la de valor propio $3$ .
Yo preparé $$\bigg(a\begin{bmatrix} 1\\1\\0\end{bmatrix} + b\begin{bmatrix}-1\\0\\1\end{bmatrix}\bigg) \cdot \bigg(c\begin{bmatrix} 1\\1\\0\end{bmatrix} + d\begin{bmatrix}-1\\0\\1\end{bmatrix}\bigg) =0$$
y rápidamente encontró opciones de $a, b, c, d$ que funcionan.