I'm not sure what you mean by "the" basis. Any vector space has an infinite number of bases. If a surface is given by f(x, y, z)= Constant, then the normal vector to the surface is \nabla f so the tangent plane at (x_0, y_0, z_0) is give by \nabla(x_0, y_0, z_0)\cdot <x- x_0, y- y_0, z- z_0>= 0. You can get one vector in that tangent plane by taking y= y_0, x= x_0+ 1 and another, independent vector so they form a basis, by taking x= x_0, y= y_0+ 1.
For example, if the surface is given by x^2yz= 1 then the normal vector at any point is <2xyz, x^2z, x^2y>. At (1, 1, 1) that would be <2, 1, 1>. The tangent plane there is 2(x- 1)+ y- 1+ z- 1= 0 or 2x+ y+ z= 4. if x= 2, y= 1, then 4+ 1+ z= 1 so z= -1. The point (2, 1, -1) is also in that plane so the vector <2- 1, 1- 1, 1-(-1)>= <1, 0, 2> lies in that tangent plane. If x= 1, y= 2, then 2(0)+ 1+ z= 4 so z= 3. The point (1, 2, 3) is also in that tangent plane so the vector <1- 1, 2- 1, 3-(-1)>= <0, 1, 4> lies in that tangent plane. The two vectors <1, 0, 2> and <0, 1, 4> are two independent vectors in thet tangent plane and so form a basis.