这是个时态的问题.
have you是现在完成时.
do you是一般现在时.
问你习惯或者一般情况下怎么样怎么样的时候,就用do you.
如果是问你,在说话时,你是否做完了什么,用have you.
简单的说,就是靠时间来判断啦~
明白了么?