While both programs are available, most enlist under the Guaranteed Job program. Again, whether or not you will be offered the job you want depends upon your qualifications, and the needs of the service.
Undesignated Seaman can "strike" for a job after basic training.
The Navy also has some "special" enlistment programs whereby you can enlist knowing what "area" you are going into, but not your specific rating (job). An example would be the Nuclear Program. These programs generally require higher ASVAB line scores, and require a longer service commitment, but offer accelerated promotions, greater training opportunities, and higher enlistment bonuses.
For more details the article, What the Recruiter Never Told You.

