There are two possibilities, depending on what exactly you mean:
你说普通话还是广东话?
你说普通话或者广东话吗?
These can both be translated as "Do you speak Mandarin or Cantonese?", but they're slightly different.
"你说普通话还是广东话?"
-This means "Do you speak Mandarin or do you speak Cantonese?". People would respond with either "Mandarin" or "Cantonese". '还是‘ is a question word, and makes the sentence a question in which the response must be one of the two options.
"你说普通话或者广东话吗?“
-This means "Do speak at least one of Mandarin or Cantonese?". In English, we'd respond with 'yes' or 'no'. In Chinese, they'd say ‘说’ or ‘不说'.
‘Cantonese' can be either '广东话’ or '粤语'.