Pick a point $x=r(u_0,v_0)$ on the parametrized surface $M$. An intuitive way to define the tangent space is as follows:

Fix $\epsilon>0$ small enough so that $r$ is a smooth homeomorpism on a ball $U$ of radius $\epsilon$ centered at $p=(u_0,v_0)$. Let $\gamma:(-\delta,\delta)\to M$ be a $C^1$ curve such that $\gamma(0)=x$ and $\delta>0$ is chosen small enough that $\gamma((-\delta,\delta))\subseteq r(U).$ Thus, the image of $\gamma$ is just a truncated curve on $M$ that passes through $x.$ And since it is $C^1$, we can differentiate it, so $\gamma'(0)$ exists and is a vector in $\mathbb R^3$. Call two curves $\gamma_1$ and $\gamma_2$ the same if $\gamma_1'(0)=\gamma_2'(0).$ Finally, consider the set of $\textit{all}$ such identified curves that pass through $x$, and their corresponding derivatives at $t=0.$ The tangent space $T_xM$ is defined to be the collection of all such velocity vectors: $T_xM=\{\gamma'(0):\gamma\in C^1((-\epsilon,\epsilon))\}.$
You can picture the tangent space by letting each curve $\gamma$ slice the surface $M$ at $x$ in such a way that the velocity vectors "just touch" $M$ at $x$, and so the collection of all such form a plane tangent to $M$ at $x$.
The next thing to do is prove that $T_xM$ is indeed a vector space. Here there is a problem because although scalar multiples of elements in $T_xM$ are themselves elements of $T_xM$, sums are not, so a somewhat more sophisticated approach is necessary$^*$. But assuming for the moment that $T_xM\ \textit{is}$ a vector space of dimension two (because it is a plane), to find a basis it suffices to find two linearly independent vectors. But this is easy, because we have at our disposal the parametrization of $M$, via $r$. i.e. we can set $\gamma_1(t)=r(u_0+t,v_0)$ and $\gamma_2(t)=r(u_0,v_0+t).$ Then, $\gamma_1(0)=x$ and, applying the chain rule $\gamma_1'(0)=r_u\cdot 1+r_v\cdot 0=r_u(p).$ Similarly, $\gamma_2(0)=x$ and $\gamma'_y(0)=r_v(p).$ Now, $r_u(p)$ and $r_v(p)$ are linearly independent because $r$ is a parametrization, and so $\{r_u(p),r_v(p)\}$ span the two dimensional vector space $T_xM.$
Finally, the cross product gives us a vector $n=r_u(p)\times r_v(p)$ normal to $T_xM$
$^*\ T_xM$ can be turned into a bonafide vector space by noting that there is an open set $U$ in $M$ containing $x$ such that that $r^{-1}:U\to \mathbb R^2$ is a diffeomorphism onto its image, and using the bijection $\gamma'(0)\mapsto \frac{d}{dt}r^{-1}\circ \gamma(t)|_{t=0}$ to do the vector space operations in $\mathbb R^2$ and then transfer them back to $M$ via the inverse of this map.