I thought this was a super cool vector, example problem from An Introduction to Classical Mechanic by K&K. It says:

The solution first begins by recognizing that since the problem is asking to find a unit vector perpendicular to A, then we can conversely say that the dot product of A and B must be equal to zero. And by using the vector component definition of the dot product, [itex]A \cdot B = A_x B_x + A_y B_y = 0[/itex], we can set up our first equation: [itex]3B_x + 5B_y = 0[/itex].

Next, we can say that since it's a unit vector, then the magnitude must be equal to one, and hence [itex]B_x^2 + B_y^2 = 1^2[/itex].

Now we have two equations to solve [itex]B_x[/itex] and [itex]B_y[/itex] with!

I thought this was a great example, neatly combining all the definitions and ideas we'd learned so far.

Your A.B expression is missing a term namely Az.Bz but since Bz is zero then it drops out. I mention it because it's being solved in x, y and z space and you should show it to complete your solution.

Well you can just use the abstract definition of a scalar product as a positive definite bilinear form on a real vector space. Then you prove that there always exists an orthonormal basis (and thus arbitrarily many), e.g., by using the Schmidt algorithm for orthonormalizing a given basis (that every vector space has a (Hamel) basis is equivalent to the assumption of the validity of the axiom of choice, by the way), and then the formula for the representation of the scalar product follows.

Then you can define angles by using the cosine rule as definition. The cosine is, of course, defined by calculus, e.g., via its Taylor series. In this way you can derive all theorems about Euclidean geometry in a completely analytic way. It's just beautiful!