Seems fine to me
Interns, who often join these companies for around 8-12 weeks during the summer break between their years at university, are selected after 5 or 6 interviews and compete with several hundred others for these positions.
For the companies mentioned, they really are the cream of the crop, and those companies really want to have them return in full time employment after they finish their courses.
A graduate starting as a software development engineer in the valley could expect to be paid more than $100k a year. The return on investment is several times that, if you can get them to stay for a few years. They are at their most productive and innovative whilst in their twenties.