Which one of the following verbs sound normal to you:
- Have you done your military service?
- Have you finished your military service?
For me both sound idiomatic and natural.
Which one of the following verbs sound normal to you:
- Have you done your military service?
- Have you finished your military service?
For me both sound idiomatic and natural.
Both are grammatically fine. With a neutral topic like homework, for example, I would use "done" or "finished" interchangeably.
However, military service is a more significant time investment than homework, and also much more personal, so some nuance might be helpful.
"Have you finished…" implies that the activity, in this case military service, was started at some point. It would be best used when you know that a person was in the military and that they were intending to leave it once they completed some requirement.
"Have you done…" does not assume that anything has started. This would work best if you had no idea if the person was ever in the military at all.
For even more nuance, be careful of how you refer to military service depending upon the country you're in. I only have experience with American servicemen and women, but many of them would be upset by the suggestion that they would ever "finish" their military service, as it is a lifelong calling for them. This might be different in some other countries, especially those where a period of military service is mandatory. "Have you done your military service" wouldn't make much sense to an American because most Americans have never and will never be in the military. Make sure you know who you are talking to to avoid missteps.