Foreigner here. Why do Sri Lankans find speaking English a bit difficult?

Don't get me wrong; I’m saying from my personal experience.

I am a guy from Nepal living in Toronto, Canada, right now. And I have met a few Sri Lankans here: one of my classmates, one stranger on the local bus, and one new guy at my work.

Maybe it's a coincidence, but all the people I meet are very shy and couldn't speak a single word of English. My classmate was shy in the 1st sem, and later we became friends. He has good English, but the guy from my work got hired because of his uncle, who is a chef there.

And I worked for like 8 hours with him, and I asked, Where are you from? He didn't speak a single language. Also, most of the chefs talk to him, but he never replies to anybody. He isn't shy because when his uncle comes to see him, he speaks well in his native language but not any words in English.

He isn't in a study permit. I'm confused about how these people came here. Don't they have to take an English exam before coming here?