It depends quite a lot on social class. Private and public* schools in the past (like 50s or earlier, probably not any more), teachers tended to refer to students by their last name, and thus the boys referred to each other by their last name. AFAIK this was mainly boys' schools that did this. I've not heard of girls' schools doing this, but I'm working class and my entire family are state school educated so I don't really know. Some state schools in the 50s or thereabouts may have done the same because of copying private schools or associating the practice with better education, but I don't know how widespread it was.
*public school = very exclusive, expensive private school. Schools funded by the government are called state schools.
At modern state schools, it's standard practice for teachers to address kids by their first name, and kids generally address each other by their first name. However, kids will frequently give each other nicknames and in the course of this may refer to a particular kid by their last name or (more likely) a nickname based on it. For example "Christopher Smith" might get called "Chris" or he might get called "Smiff" (London pronunciation of Smith) or a nickname based on it, or he may end up with a nickname related to something else that's not his name, but is unlikely to be called "Christopher" if it's a school in a particularly working class area. Surname based nicknames are more likely if your surname's unusual. When I was at school (in the 80s) some boys referred to each other by their last name, but the teachers didn't and it most boys weren't known by their last name. Even teachers may address a child by a nickname if they've indicated to them that they prefers that. All this would apply to girls as well. Even short first names tend to get shortened even more or changed, e.g. "Kelly" might get called "Kel" or "Kels". If you're male and working class and don't like your name to be shortened, you're up for a lifetime battle getting people to say it the long way. Even if you're female and working class you're unlikely to be referred to by your full first name. I've always been known by shortened versions of my name. Nicknames that don't relate to names at all are also common, especially in schools and sports teams. (e.g. I was known as "Smurf" by my ice hockey team on account of being short and having a blue training shirt)
Middle class people also do nicknames but I don't know how widespread it is and also to what extent people who want to be known by their full first name have difficulty getting others to call them by it. Working class people tend to automatically shorten names, so if you're David, everyone is going to call you Dave whether you want them to or not. Whether middle class people are more likely to ask David if he prefers to be David or Dave is something I don't know because I'm working class. From reading stuff like Jeeves and Wooster, it seems that upper class people also do nicknames, but (presumably due to the practice of teachers referring to kids by their last name in public schools) they seem to be more surname based and only between friends. Jeeves and Wooster is very dated though and I really have no idea at all about the lives of upper class people, having had no contact with them ever in my life. Also bear in mind that it's a thing nowadays for some middle and upper class people to try to blend in more with the working classes, so there would be less differences nowadays.
Note: I'm working class from London and my experience probably only applies to SE England but quite a few aspects of it probably apply to working class people in the whole country, but bear in mind that things can vary massively by region. I also don't really know that much about other social classes or schools that are not state schools. If the school your character is going to isn't a state school then you really need to ask someone who went to that kind of school (private or public, etc).