In English, last names often come from one's job. (Well, from the job of one's ancestors, anyway.) For example, the last name "Baker" is from someone who makes bread. "Miller" was the person who ground up the seeds to make the bread. "Smith" was someone who worked with metal, like a goldsmith or ironsmith. And "Taylor" was someone who made clothes.
It's the same way in other European languages as well. In German, Arnold Schwarzenegger's last name means "black plowman". Since he's from Austria, this would probably mean someone who became very tan from working in the sun on his farm, plowing up the dirt.
In Scandinavia, many last names are made by using the father's name and adding "son" (or "sen", which is the same thing). Anderson/Andersen is one example, but there are many more. Ericson (which is also a phone company), Jurgensen and Gustavson are some of the more common ones. And we use this in English as well, like with names like Johnson and Robertson.
Jewish names are very interesting. Here is a link to an article about Jewish last names (or surnames). If you look through the list at the end of the article, you can see how many of them mean something in Yiddish, which is a language very similar to German.
Often, even if you don't know the original meaning of a name, you can tell what kind of ethnic background a person has just from his or her last name. If a name ends with "ez", for example, it is probably a Spanish or Latin American name. Perez, Gomez, Sanchez and Martinez are all common Spanish names that are found in the United States. If a name ends with "i", it's probably Italian (Parisi, Fellini, Minnelli). And the same is true with Asian names. Kim, Lee and Park are three very common Korean surnames (although some people from other Asian countries have them as well).
Here is a link to the most common 100 last names in America. How many can you recognize?