There exist algorithms for finding irreducible factors of polynomials in R[X], where R = Q or Z/pZ, for example.
For R = Q, a method consists of reducing to factorization in Z[X], while factorization in Z[X] is possible (but inefficient) by making use of interpolation.
For R = Z/pZ there exists a method which
uses the linear space structure of Z/pZ[X],
which is in turn useful for efficient factorization of polynomials
over Q.