1. He works over time on the weekend.

2. He works over time over the weekend.
3. He works over time during the weekend.
4. He works over time this weekend.
5. He works over time this coming weekend.
6. He worked over time last weekend.

(Are they all grammatical? Do you have some more expressions which can be used with 'weekend'?)

7. Shall we have a race?
8. Shall we run a race?
9. Shall we take a race?

(Are they all correct? What other expressions can be used with 'race'?)

In 1-6, I think you mean "overtime" not "over time" -- there's a difference. "Overtime" refers to working later than usual, often for extra money.

With that correction, 1-4 and 6 will be correct. 5 needs to have a future tense main verb in order to refer to the coming weekend.

1. He works overtime on the weekend. (grammatical)

2. He works overtime over the weekend. (grammatical)
3. He works overtime during the weekend. (grammatical)
4. He works overtime this weekend. (grammatical)
5. He works overtime this coming weekend. (grammatical)
6. He worked overtime last weekend. (grammatical)

All of the above sentences are grammatically correct and have different variations of expressing the same idea.

Here are some more expressions that can be used with 'weekend':
- He works overtime every weekend.
- He always works overtime during the weekend.
- He frequently works overtime on weekends.
- He enjoys working overtime on the weekends.

7. Shall we have a race? (correct)
8. Shall we run a race? (correct)
9. Shall we take a race? (not a typical expression; it would be more common to say "Shall we participate in a race?")

Some more expressions that can be used with 'race':
- Shall we organize a race?
- Shall we enter a race?
- Shall we compete in a race?
- Shall we join a race?
- Shall we take part in a race?
- Shall we hold a race?