One idea
A class should represent one real thing in your app. An interface should represent one action your app can swap or improve later.
For a recruiter CLI, Candidate and Job are classes. MatchScorer is an interface because matching can change from simple keywords to a better scoring rule.
Why this matters
A project repo looks stronger when your code is not one long Main.java file. Recruiter apps have clear nouns: candidate, job, skill, application, score.
When each idea has its own class, another builder can open your repo and understand it fast. This also helps later lessons when you add files, JSON, streams, and a build tool.