Diagonalisability of a certain rank 1 matrix 
Let $E$ and $F$ be non-zero $n$-tuples, and set $P$ = $EF^H.$
(a) Find the rank of $P$.
(b) Determine when $P$ is diagonalisable, and in that case find an eigenbasis for $P$. (Hint: consider $Px = \lambda x.$)

We have
\begin{equation} 
\begin{split} 
P &= \left[ \begin{array}{c} e_1 \\ e_2 \\ \vdots \\ e_n \end{array} \right] \left[ \begin{array}{cccc} \overline{f}_1 & \overline{f}_2 & \ldots \overline{f}_n \end{array} \right] \\ 
&= \left[ \begin{array}{cccc} e_1 \overline{f}_1 & e_1 \overline{f}_2 & \ldots & e_1 \overline{f}_n \\ e_2 \overline{f}_1 & e_2 \overline{f}_2 & \ldots & e_2 \overline{f}_n \\ \vdots & \vdots & \ddots & \vdots \\ e_n \overline{f}_1 & e_n \overline{f}_2 & \ldots & e_n \overline{f}_n
\end{array} \right]
\end{split} 
\end{equation}
Clearly, rank $P = 1$. So the nullity, and therefore the dimension of the zero-eigenspace, is $n-1.$ So there must be one nonzero eigenvalue (call it $\lambda_1$) given by $\lambda_1 = \text{Tr } P = e_1 \overline{f}_1 + e_2 \overline{f}_2 + e_3 \overline{f}_3.$ Now, determining the diagonalisability and finding an eigenbasis of $P$ I am finding a little tricky. Considering $Px = \lambda x$ for this eigenvalue, as per the hint, only seems to leave me with the set of equations:
\begin{equation}
\begin{split} 
e_1 \overline{f}_1x_1 + e_1 \overline{f}_2x_2 + \ldots + e_1 \overline{f}_nx_n &= (e_1 \overline{f}_1 + e_2 \overline{f}_2 + \ldots + e_n \overline{f}_n)x_1 \\ e_2 \overline{f}_1x_1 + e_2 \overline{f}_2x_2 + \ldots + e_2 \overline{f}_nx_n &= (e_1 \overline{f}_1 + e_2 \overline{f}_2 + \ldots + e_n \overline{f}_n)x_2 \\ & \vdots \\ e_n \overline{f}_1x_1 + e_n \overline{f}_2x_2 + \ldots + e_n \overline{f}_nx_n &= (e_1 \overline{f}_1 + e_2 \overline{f}_2 + \ldots + e_n \overline{f}_n)x_n 
\end{split} 
\end{equation}
And there seem to be no nice cancellations that result in a simple answer (the dimension of the eigenspace should be one, so we should get a single vector), so at this point I'm stuck. Can anyone salvage anything from what I've done so far? Or better yet, is there a cleaner way of doing this? Thanks in advance.

If $x$ is the eigenvector for $\lambda_1$, you have$$\tag1\lambda_1x=Pe=ef^*x=(f^*x)e.$$Since $\lambda\ne0$, you get that $x=\alpha e$ for some scalar $\alpha$. If you now substitute this into $(1)$, you get $$\lambda_1=f^*e.$$ 
The condition for diagonalizability is that $e,f$ are colinear. Indeed, if $f=\beta e$ and $K=\{e\}^\perp$, then $Py=ef^*y=0$ for all $y\in K$, and $e$ together with a basis of $K$ form a basis of eigenvectors. And if $e,f$ are linearly independent you get $\dim\ker P≤n-2$, and so $P$ is not diagonalizable.
