This is the core of a CS degree, each one is class, sometimes multiple classes that go into more detail. All interview questions will basically only cover these topics. 1. Algorithms & Data Structures 2. Baremetal Hardware. ASM, goes into the design of a physical cpu with ALUs, etc. Sometimes you make your own basic CPU. I suggest using a course with ARM ASM, simpler than x86 ASM. 3. Operating Systems & Multithreadin…
In my experience with non-CS developers, this is one of their biggest shortcomings when trying to solve non-trivial programming issues in the real world.
However, if you have a design background and a knack for UI, then don't sell yourself short. There are lots of programmers and plenty of great artists, but talented people with both skill sets are seriously hard to find. Take a look at this article for an idea of what most developers (myself included) come up with for UI: http://www.codinghorror.com/blog/2006/11/this-is-what-happen...
If you have the ability to prevent atrocious designs like the one in that article then you are solving important and challenging problems. There's a reason user experience (UX)design is such a buzzword right now.