At the company I work at, every service class has a corresponding interface.
Is this necessary?  

Notes:  


Most of these interfaces are only used by a single class
We are not creating any sort of public API


With modern mocking libraries able to mock concrete classes and IDEs able to extract an interface from a class with two or so clicks, is this just a holdover from earlier times?

Your company is following the SOLID principles and targeting an interface rather than concrete class adds zero overhead to the program.  What they're doing is a very moderate amount of extra work that can pay back volumes when the assumptions that you are making end up being false...and you can never tell what assumption that's going to be.  What you're recommending while slightly less work, can cost many, many, many hours of refactoring that could have just been done ahead of time by simply following basic OO design principles.

You should be learning from these guys and consider yourself lucky. Wish I worked in such an environment where solid design was a priority goal.
