The row space is generated by two nonzero vectors. It is easy to see these are linearly independent, so they form a basis for the row space.
Similarly, the column space is generated by three vectors. Two are identical, and the other is independent of the duplicated vector, so we obtain from these a basis of two vectors for the column space.
For the null-space of $A$, we note first that it must be 2-dimensional by the rank-nullity theorem. Since the first column is null, the vector $(1,0,0,0)$ is in the null space. To find a second vector in the nullspace, write out $Ax = 0$ explicitly.
$x_1\begin{bmatrix}
0 \\
0 \\
0 \\
\end{bmatrix}
+ x_2\begin{bmatrix}
3 \\
0 \\
1 \\
\end{bmatrix}
+ x_3\begin{bmatrix}
3 \\
0 \\
0 \\
\end{bmatrix}
+ x_4\begin{bmatrix}
3 \\
0 \\
1 \\
\end{bmatrix} = 0$.
The 2nd column equals the 4th, so subtracting the 4th from the 2nd gives zero. This is the same as $Ax$ when $x = (0,1,0,-1)$. Both vectors are linearly independent, so they form a basis.
By the rank-nullity theorem again, we see that the null space of $A^T$ has dimension $1$, so all we need to do is find one non-zero vector in this space. Since the second column of $A^T$ is null, $(0,1,0)$ works.
1-2) This construction works because the columns are on the left and the rows are on the right. I imagine it was conceived by thinking about how matrix multiplication on the left and right produces a vector. On a more subtle note, vectors are only matrices when you are working in some basis. More generally, vectors do not a priori have a default matrix representation.
3) I you multiply $$B_{m \times n} = \begin{bmatrix}
\vert & & \vert \\
\mathbf{c_1} & \cdots & \mathbf{c_s} \\
\vert & & \vert \\
\end{bmatrix}_{m \times s}
\begin{bmatrix}
-- & \mathbf{{r_1}^T} & -- \\
& ... & \\
-- & \mathbf{{r_s}^T} & -- \\
\end{bmatrix}_{s \times n}
= \sum\limits_{1 \le i \le s}\mathbf{c_s{r_s}^T} $$ by a column vector on the right, the column times $\begin{bmatrix}
-- & \mathbf{{r_1}^T} & -- \\
& ... & \\
-- & \mathbf{{r_s}^T} & -- \\
\end{bmatrix}_{s \times n}$ gives a new column. Multiplying this column by $\begin{bmatrix}
\vert & & \vert \\
\mathbf{c_1} & \cdots & \mathbf{c_s} \\
\vert & & \vert \\
\end{bmatrix}_{m \times s}$ gives you an element of the column space. If you multiply a row vector on the left of $B_{m\times n}$ it similarly gives you an element of the row space.
Best Answer
Since the first matrix has rank $2$, the rank of the product $A$ will be at most $2$. Since $A$ is a $3 \times 3$ matrix, it will not be invertible.
As to the column space, you are right, it will consist of all the linear combinations of the two columns of the left matrix.
The argument for the row space is similar to the argument you are using for the columns. Note that the first row of $A$ will be $$1 \cdot \begin{bmatrix} 3 & 0 & 3 \\ \end{bmatrix} + 2 \cdot \begin{bmatrix} 1 & 1 & 2 \\ \end{bmatrix}$$
Note that in determining the column and row spaces you are also proving the first statement about the rank.