I wonder if there is a way to find the eigenvalues and eigenstates of an operator in Dirac notation without writing it in matrix form.
For example, say $A=\left|\phi_1 \right> \left< \phi_2 \right|+\left|\phi_2 \right> \left< \phi_1 \right|$. Writing it in the matrix form in basis $\left|\phi_1 \right>,\left|\phi_2 \right>$ \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix} the diagonalization is easy. But is there a way to do the same thing using the Dirac notation directly?
In general no, there is no easier way to find eigenvalues (and eigenstates) of an operator in Dirac notation, when compared to matrix notation.
Besides some obvious cases, as with a diagonal operator $\Lambda = \sum_{i=0}^n \lambda_i |\phi_i\rangle\!\langle\phi_i|$, with $\{|\phi_i\rangle\}$ being a normal basis, where eigendecomposition is already given.
Two further notes:
$\begin{align} |\phi_1\rangle \rightarrow \begin{bmatrix}0 \\ 1 \end{bmatrix}\ \text{ and }\ |\phi_2\rangle \rightarrow \begin{bmatrix}1 \\ 1 \end{bmatrix} \\[1.5ex] A = |\phi_1\rangle\!\langle\phi_1| + |\phi_2\rangle\!\langle\phi_2| \rightarrow \begin{bmatrix}1 & 1 \\ 1 & 2 \end{bmatrix} \end{align}$
$A$ has a conjugate pair of eigenvalues, instead of eigenvalue $1$ as a distracted reader might be lead to think.