As of now, I can think of two ways to formulate this problem:
1. Search problem
Parse your job listings and index them in some sort of search engine like Solr or ElasticSearch. You can build capabilities like Semantic search using Word2Vec models, etc.
Now write a query engine which takes a resume and queries this Search engine. It will be blazing fast since job listing will be all indexed.
2. Similarity problem
I would have created hybrid similarity function. For example:
a) How many top key words matched between resume and job listing
b) Similarity of resume and job listing using Doc2Vec (Pre compute vector for job listings)
c) Using algorithms like Locality Sensitive Hashing to reduce the lookup space
This approach will be slow but might yield a good result.