"As BombsAway eluded to optimisation and efficiency is a hard part of coding."
I'd say that what's a harder part is knowing when you've optimised "enough". Over enthusiastic optimisation is responsible for a huge proportion of the problems in applications.
So to go along with the technical stuff I'd also spend some time reading up on some of the philosophies/methodologies of software development.
Know a little bit about things like test driven development, agile, waterfall, peer programming, application lifecycles and clean code to name a few. That, in turn, will help guide your work and the field that you want to work in.
For example, personally, I've always had a thing about writing clean, understandable, maintainable code. And writing code to those standards at the cost of having it be the fastest code possible. So I've moved away from areas like games, where you often need to be as fast as possible, to areas like business applications with very long life spans, where you need to the code to be maintainable years after it was written but it doesn't really matter if a thing takes 0.01 seconds or 0.1 seconds.
As an interviewer it's also always a good sign if a developer has thoughts and opinions on coding outside of just how to write code.