Scenario: you have two offers on hand. One offer is for a full time position. The other is for "let's see how the next one to two months goes and then we'll decide if you still have a job or not." Which do you pick? All things being equal, the first offer carries significantly less risk as an employee and is clearly the better choice. If you're an employer who really wants to hire engineers, why would you give an offer that will automatically filter out a large portion of qualified candidates?
If I had the choice between a full time position with 3 days free coding prior, or "let's see how the next 1-2 months go" with no free prior coding, I'd chose the latter.
But the reality is in many (most? all?) US states, employers can fire you for any reason. Sure you can nominally fire back with a wrongful termination suit, but the reality is you have little recourse. So really there is no difference in those two offers, other than one is being more explicit about their personnel practices.