Is it worth applying for a programming job if you barely meet their requirements?
I know the company has hired students from the same program I graduated from (2 year business programming/it) but it's been a year and my programming skills are a bit rusty.
Worst case scenario you don't get an interview or you get an interview and your skills get exposed pretty quickly. If your skills or lack thereof are exposed and the company doesn't feel they can afford to train you up, then well you're back to square one but all you've lost is your time.
My suggestion is check out some books on programming interviews and see how much, if any, of the topics you know.
I mostly deal with OO languages and non web technologies (and a lot of game dev) so for me the topics I've encountered most in interviews are:
General OO concepts (polymorphism, encapsulation)
How to use virtual functions to accomplish the above
Algorithms (I hate run time complexity questions and I always do bad on them), search and sort are things that come up a lot.
Bitwise operations
Hexadecimal
Data structures (advantages/disadvantages, when and why to use)
the STL
Vector Math (this is strictly a game dev stuff)
Networking concepts (tcp/udp and client server) but this is usually gamedev related.
And usually some white board problem (common ones: reverse a string in place, write a linked list and an insert function, sort an array, shuffle a deck of cards).
Now I've never interviewed for anything webdev, or database or server side engineering related so those jobs likely have far different requirements, but the more generic computer science stuff is always good (algorithms, data structures, big o).