3rd roots of unity as eigenvectors 
Determine all eigenvalues of the matrix
  $$A=\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}$$
  and then determine a base for each eigenspace.

It's easy to compute $\chi_A(z)=z^3-1$ so my roots (and therefore eigenvalues) are $z_1=1, z_2=\cos(2\pi/3)+i \sin(2\pi/3)$ and $z_3=\cos(4\pi/3)+i \sin(4\pi/3)$.
Usually I would determine the eigenspaces by $E_\lambda=\ker(A-I_n\lambda)$, but having the solution to this problem shows that the result should be
$$E_1=\left\langle\begin{bmatrix}1\\1\\1\end{bmatrix}\right\rangle,\qquad\qquad
E_{z_2}=\left\langle\begin{bmatrix}z_3\\z_2\\1\end{bmatrix}\right\rangle,\qquad\qquad
E_{z_3}=\left\langle\begin{bmatrix}1\\z_2\\z_3\end{bmatrix}\right\rangle.$$
The first one is obvious, but I don't see where the trick is to quickly compute the other two eigenspaces / eigenvectors! Any help would be appreciated!

In this particular case, note that $A$ is a permutation matrix corresponding to a 3-cycle. Also, multiplying each of the roots of unity by $z_2$ is the same as permuting the roots in a 3-cycle. So putting those root as the coordinates of vector ought to seem like a good plan for getting something with $z_2$ as an eigenvalue.
In general, once you know an eigenvalue $\lambda$, then corresponding eigenspace is the kernel of (the linear transformation associated with) $A-\lambda I$. So if all attempts to be clever fail, you can always compute that by using Gaussian elimination on $A-\lambda I$.

Example of Gaussian elmination for the eigenvalue $\zeta$. We start with $A-\zeta I$:
$$ \begin{pmatrix} -\zeta & 0 & 1  \\ 1 & -\zeta & 0 \\ 0 & 1 & -\zeta \end{pmatrix} $$
Permute the rows to bring some natural pivots to the front and reduce the work:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ -\zeta & 0 & 1 \end{pmatrix} $$
Add $\zeta$ times the top row to the bottom row:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ 0 & -\zeta^2 & 1 \end{pmatrix} $$
Add $\zeta^2$ times the middle row to the bottom row:
$$ \begin{pmatrix}  1 & -\zeta & 0 \\ 0 & 1 & -\zeta \\ 0 & 0 & 0 \end{pmatrix} $$
So it has rank 2 as expected. Add $\zeta$ times the middle row to the top row, to clear out above the pivot:
$$ \begin{pmatrix}  1 & 0 & -\zeta^2 \\ 0 & 1 & -\zeta \\ 0 & 0 & 0 \end{pmatrix} $$
And now we can read off a basis vector for the kernel, namely $(\zeta^2,\zeta,1)$ -- exactly your $E_{z_2}$.
