Что and какой both mean "what". As a loose rule, какой means "which". The correct rule is that if a noun follows "what", use какой. If no noun follows "what", use что.
As a memory aid, the following noun's gender and number change какой. Какой precedes masculine nouns, какая precedes feminine nouns, какое precedes neuter nouns, and какие precedes plural nouns. Because что is never followed by a noun, it only changes form in different cases. If you just want to "get by," always use что for "what."
«Что ты думаешь» is fine, nothing to do with the pronoun—a noun can go there too, though it's a little weird to ask someone what a third person is thinking. Like «Что кошка думает?» isn't grammatically wrong.
When @wizwisdom talks about words following что and какой, that doesn't necessarily refer to the word immediately after. It's about pairing grammatically. Like it would be wrong to say *«Что твой любимый язык?» because что is failing to match with язык.
This sentence hits the difference between the English and Russian pairs: what vs. which is all about choosing from a fixed set, but что vs. какой is about whether it pairs grammatically with a noun later in the sentence.
Where does какой come from? I found a declension table for it at:
It appears to be what you want to use when asking "what/which" when attached to a word as a kind of adjective. Что doesn't act as an adjective.
Apparently, there is also такой (such a)
Declined at: http://masterrussian.com/vocabulary/takoi_such.htm
I think you can use ваш or у вас (and твой or у тебя in the singular / unformal form) for possession. I really prefer the possessive pronoun, closer to my native language. The form with "y" implies the genitive case, it's the equivalent of the verb "to have". So the sentence would be something like "what favorite langage do you have ?"
It means the same. However, the best translation likely to be accepted is the one closest to the one presented, as they may be trying to teach you a grammar form. Your favorite one was not part of the sentence. It was - which is your favorite language. Almost word for word to translate correctly in English. If you add words the robot won't recognize it.