Faits : A. Au début septembre 2013, la société B._ SA (ci-après: la société ou la défenderesse), dont le siège est à Genève, a chargé la société U._ Sàrl, active dans la recherche et le placement de personnel, de lui trouver un candidat pour le poste de " Head of Asset Management ". Le 2 septembre 2013, cette société de placement lui a proposé la candidature de A._ (ci-après: la candidate ou la demanderesse). Des contacts et réunions ont eu lieu entre la directrice et l'administrateur de la société et la candidate, du 12 septembre 2013 au 7 mars 2014, date à laquelle la directrice de la société a communiqué à la société de placement qu'elle avait décidé de ne pas engager la candidate. Par courrier de son mandataire du 20 juin 2014, la candidate a adressé à la défenderesse une note d'honoraires de 41'389 fr. pour la période du 21 novembre 2013 au 7 mars 2014. Puis, elle a requis de l'Office des poursuites de Genève la poursuite de la société pour ce montant. B. A._ a déposé sa demande devant le Tribunal civil de l'arrondissement de la Côte le 29 janvier 2015. Elle conclut à ce que la défenderesse soit condamnée à lui payer le montant de 41'389 fr. avec intérêts à 5% l'an dès le 1er juillet 2014 et que la mainlevée définitive de l'opposition au commandement de payer à concurrence de ce montant soit prononcée. En substance, la demanderesse soutient que les pourparlers en vue de la conclusion d'un contrat de travail ont pris fin le 21 novembre 2013, sans accord sur un tel contrat; les prestations qu'elle a fournies entre le 21 novembre 2013 et le 7 mars 2014 l'auraient alors été sur la base d'un contrat de mandat onéreux d'étude, d'analyse et de conseil, avec pour mission d'établir un business plan sur le potentiel d'acquisition et d'introduction de clients tant privés qu'institutionnels par une société luxembourgeoise à constituer sous la raison sociale "B1._ Investment Managers ", de travailler sur le lancement de fonds de type SICAV en collaboration avec d'autres sociétés de gestion de fortune, ainsi que d'étudier et d'analyser des fonds de placements privés dans lesquels la société envisageait d'investir, composés en grande partie de capitaux russes. Selon la défenderesse, le processus de recrutement de la candidate s'est déroulé jusqu'au 7 mars 2014, date à laquelle elle a refusé de l'engager comme employée. Le business plan que la demanderesse lui a transmis le 5 mars 2014 était celui qui lui avait été demandé les 20 et 21 septembre 2013 dans le cadre de sa candidature en vue d'un engagement comme employée. Par jugement du 10 janvier 2017, le Tribunal civil de l'arrondissement de la Côte a constaté qu'il n'y a pas eu d'accord sur la conclusion d'un contrat de mandat entre la demanderesse et la défenderesse et a, en conséquence, rejeté la demande. En substance, le tribunal a considéré que si les parties avaient négocié du 2 septembre 2013 au 7 mars 2014 en vue de la conclusion d'un contrat de travail qui n'était pas venu à chef, aucune d'elles n'avait manifesté durant cette période sa volonté de se lier à l'autre par un contrat de mandat et que l'activité qu'a pu fournir la demanderesse pendant cette période l'a été dans la perspective de son engagement comme employée. Statuant le 19 décembre 2017, la Cour d'appel civil du tribunal cantonal du canton de Vaud a rejeté l'appel de la demanderesse et confirmé le jugement attaqué. C. Contre cet arrêt, qui lui a été notifié le 31 janvier 2018, la demanderesse a interjeté un recours en matière civile au Tribunal fédéral le 2 mars 2018, concluant en substance à sa réforme en ce sens qu'il soit constaté qu'il existe un contrat de mandat entre elle et la défenderesse et, partant, que la procédure devant le tribunal soit reprise au stade de l'audience de premières plaidoiries; subsidiairement, elle conclut à l'annulation de cet arrêt et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants et, plus subsidiairement, à son annulation et au renvoi de la cause au tribunal civil pour nouvelle décision dans le sens des considérants. L'intimée conclut au rejet du recours. La cour cantonale se réfère aux considérants de son arrêt.