This is a very generic question, so I'm going to get you started with some basic advice. From there, I would recommend that you dive into it and try to get started. Once you get started, you will either find that you can do the whole thing or that there is a specific area that you get stuck on. From there, you can ask a more specific question.
Ranking candidates based upon experience and qualifications is a very subjective matter. You are going to need to define a set of rules and weights for each item. For instance, if you are looking for a programmer and two apply, one having 3 years of C# and the other having 10 years of VB.NET, which is a better candidate for a C# job? The guy who has only worked for three years in C# will be pretty good but the guy who has 10 years of .NET experience (even though it is in VB.NET) will also be very good. You might say that each year of C# equals one point where each year of VB.NET equals 0.5 points. Thus, your second candidate has 5 points to the first ones 3 points.
All of these criteria will need to be developed by you. Before you get there, though, first break the problem down into chunks. Figure out how to store the data. Then figure out how to retrieve the data into your application. Then figure out how to apply rules (either in the database or in your application - your call). The rules should be like I illustrated above. Once all that is done, it is simply a matter of adding up the points and ordering the candidates in descending order (largest on top).
Here is a Stack Overflow question with one way of doing ranking for a particular circumstance. Maybe you can use pieces of the logic to help you get started in your thought process:
http://stackoverflow.com/questions/932300/c-sharp-ranking-of-objects-multiple-criteria[
^]