Setup Q&A captcha with non-trivial question and you'll be fine.
By "non-trivial question" I mean something where answer does not automatically appear when you type question in search engines. Questions like "how much is 2+2" are pointless, spam bots can handle them. You need to be creative, think of something new. Question should be changed from time to time.
ReCaptcha is pointless, spam bots broke it long time ago and humans have harder time figuring it out than bots.
vBulletin had this -amazing- addon that checked for a load of things, and if someone posted spam words (which you could set) or stuff like links and images (all configurable) on their first x posts (whatever you set it to) it would put the post(s) automatically in moderation queue (or other actions, if you preferred, I think) and no spam would reach the board itself. Very occasionally caused a bit of a problem if someone just joined and tried to post something with a link in it, but other than that it stopped all spam except for 1 single post that managed to came through.
I kinda miss it, but Jaxels addon + some questions are quite capable to stop most spam for me as well, so far.