Building a QnA bot and hooking it up to Cortana is ridiculously simple.
If you have a FAQ that is in Q: A: format you can import it via the Azure QnA Maker tools and auto-create a "knowledge base". No coding required. You can do this here https://www.qnamaker.ai.
The next step is creating your bot. Microsoft has standardized on their botframework to do this. https://dev.botframework.com is your gateway.
If you are like me and like the simplicity of node.js then pick the QnA template.
Then go back to the Azure portal and update your bot for the Application Settings blade sections shown here.
The test web app will now be successfully linked to your QnA bot! But don't forget the last step...
Go to your Channels blade and set up Cortana. Then, go to the build blade and open the online editor. In the app.js code, you will see that the template uses the standard QnA dialog builder - that does not say the resulting answers back with the Cortana speech channel. Add an override like this.
There you have it. Now "Hey Cortana, ask Bernie Question Bot Test what is a dwarf planet?"