Here is what we expect of new software grads (we are a small branch of a major defence company):
To get through the interview, the ability to knock together a simple (for example, a linked-list) data structure in C, and to talk about the implementation's strengths and weaknesses.
To talk sensibly about things like; source control, testing, coding standards, quality, processes. You don't need to have much (or in some cases, any) experience, but at least know what they are and what they're for. Any monkey can be taught to code. We have little use for code-monkeys.
The ability to communicate verbally and with the written word in a coherent, sensible fashion.
Dressing appropriately for a job applicant. Employees
wear clean, tidy clothes with a tie if they want to. Job applicants wear suits.
The ability to learn.
A surprising number of applicants are unable to demonstrate these things and thus don't get hired. Those that do get hired essentially do those things; coding, testing, quality, processes, thinking, learning, writing and speaking.
|Finally when in a job are you expected to do a lot of work outside of the work hours?|
When something has gone wrong and extra effort is needed to get things finished faster. Some industries have a very bad rep for this. At the start of your career, I advise you that if you find yourself in a job where unpaid extra hours are the norm, or a state of perpetual crunch is standard, to walk.