Ik liep stage bij Facebook. Hier zijn enkele tips die ik heb geleerd.

Ik heb onlangs een aanbod van Facebook geaccepteerd na een interview met Google, Microsoft, Dropbox, Yelp en meer. Ik nam een ​​beetje de tijd om na te denken en na te denken over wat me hielp op te vallen. Hier zijn enkele tips, gecategoriseerd naar verschillende delen van het proces.

Een interview krijgen: doorgaan met bouwen

De belangrijkste factor om de aandacht van een bedrijf en het rekruteringsteam te trekken, is waarschijnlijk uw cv. Sinds mijn uitstapje naar de industrie drie jaar geleden, is mijn cv geëvolueerd naarmate ik meer ervaring heb opgedaan. Van jaar tot jaar heb ik veel betere responspercentages gekregen van bedrijven naarmate mijn cv is veranderd - elk jaar krijg ik meer antwoorden op en follow-ups van stageaanvragen. Echt, er zijn maar een paar grote wijzigingen in mijn cv. Hieronder markeer ik er drie.

Onderzoek . Ik denk dat dit veel meer deuren voor me heeft geopend - ik kreeg ongeveer 75% meer reacties van bedrijven in het semester nadat ik met onderzoek was begonnen. Als je de kans hebt om onder professoren of afgestudeerde studenten te werken, grijp die dan. Je leert niet alleen in korte tijd waanzinnig veel en krijgt mentorschap van enkele van de slimste mensen in het veld, maar (op je cv) toon je ook passie en een drive om te leren die verder gaat dan het klaslokaal.

Onderzoek doen ontwikkelt een mentaliteit om lastige, complexe problemen aan te pakken die zowel in de wetenschap als in de industrie voorkomen. Bedrijven willen mensen die het potentieel hebben om binnen te komen en impact te maken, en laten zien dat je over de juiste mentaliteit en relevante ervaring beschikt, is een stap in de goede richting.

Open source . Projecten waaraan u werkt en waaraan u bijdraagt, kunnen ook open source zijn, een ander pluspunt voor uw toepassing. Als je geen onderzoekspositie kunt vinden, draag dan bij aan open source. Open source wordt over het algemeen als zeer positief beoordeeld en bedrijven scheppen op over hoeveel ze eraan bijdragen. Het geeft je de mogelijkheid om aan iets te werken dat de gemeenschap als geheel ten goede komt en om iets toe te voegen aan een project dat misschien veel groter is dan jezelf.

Een persoonlijke website . Misschien ligt dit aan mij, en bedrijven kijken hier niet echt naar, maar het lijkt erop dat het hebben van een persoonlijke website je een stap voor bent op degenen die dat niet doen. Persoonlijk merkte ik een 50% hogere respons in het rekruteringsseizoen nadat ik een persoonlijke website aan mijn cv had toegevoegd.

Het ontwikkelen van uw persoonlijke website vestigt uw persoonlijke merk en laat zien dat u over basiskennis beschikt. U nam de tijd om HTML en CSS te leren en het webraamwerk te gebruiken dat u gebruikte - nog een teken dat u oprecht geïnteresseerd bent in softwareontwikkeling.

Voorbereiding op het interview

Dus je hebt een e-mail gekregen van een recruiter. Wat nu? Tijd om voor te bereiden!

Er zijn meestal twee delen van sollicitatiegesprekken voor software-engineering: gedragsmatig en technisch.

Gedragsvoorbereiding

Bereid een verhaal van 1-2 minuten over jezelf voor. Wat heb je afgelopen zomer gedaan? Van welke lessen heb je genoten? Aan welke coole projecten heb je onlangs gewerkt? Zorg ervoor dat u ook uw onderzoek en open source-ervaring opneemt.

Doorgaans duren interviews tussen de 45 en 60 minuten, dus er is maximaal 15 minuten om over niet-technische details te praten. Voordat ik met elk bedrijf interviewde, heb ik de website en bijbehorende blogs bekeken voor meer informatie.

Wat is er cool aan elk bedrijf? Wat doen ze eigenlijk? Zijn er minder bekende branches die werk doen dat mij meer aanspreekt?

Zoek en bespreek dingen waaruit blijkt dat je de tijd hebt genomen om wat onderzoek te doen. Schrijf deze dingen ergens op tijdens het eerste onderzoek, zodat u er later naar kunt verwijzen (zoals vlak voor het interview!). Elk klein ding kan u onderscheiden van de volgende 20 kandidaten.

De interviewer stelt zich meestal voor, vertelt misschien over wat de missie van het bedrijf is en wat het doet, en vraagt ​​je dan om over jezelf te praten. Wees klaar om te reciteren wat je hebt voorbereid.

Technische voorbereiding

Technische dingen zijn, nou ja, technisch - je moet de tijd nemen om de stof te leren. Hier zijn een paar geweldige bronnen die ik heb gebruikt om me voor te bereiden op mijn interviews:

  • een whiteboard. Vaak heeft de interviewer misschien code geschreven, of code op zoiets als een Google-document dat niet kan worden gecompileerd. Dat wil zeggen, u heeft geen idee of u syntaxisfouten maakt. Probeer tijdens de voorbereiding code op een whiteboard te schrijven. Het is veel anders dan coderen in een normale ontwikkelomgeving. U kunt ook een whiteboard gebruiken om uw ideeën te schetsen en te visualiseren.
  • Het coderingsinterview kraken. Het bevat korte recensies over de meeste onderwerpen die in interviews aan bod komen, en een heleboel problemen, variërend in moeilijkheidsgraad. Ik heb een gedrukt exemplaar gekocht. Hierdoor kon ik belangrijke opmerkingen in de inhoudssecties markeren en enkele diagrammen naast de vragen tekenen. De inhoudssecties bevatten geweldige samenvattingen over verschillende onderwerpen, zoals gegevensstructuren, sorteren, dynamisch programmeren, enz., Om uw geheugen op te frissen. Ik heb eigenlijk verschillende vragen gezien in interviews die rechtstreeks uit dit boek kwamen. Waarschijnlijk de beste bron die er is.
  • LeetCode. LeetCode heeft, net als Cracking the Coding Interview, vragen van verschillende niveaus waarmee je kunt oefenen. Maar LeetCode biedt een online omgeving waar u code kunt typen, en waar uw code wordt gecompileerd en uitgevoerd. Het is een goede manier om te controleren of uw code daadwerkelijk wordt uitgevoerd, en een goed platform om te oefenen met debuggen. (Opmerking: snel kunnen achterhalen waar uw code een bug bevat, is de sleutel. Het zal u enorm helpen tijdens het daadwerkelijke interview). Elke vraag heeft ook een discussieforum waar u kunt zien hoe anderen de vraag hebben benaderd. Het is altijd gaaf om te zien op welke andere manieren u een probleem kunt oplossen.
  • HackerRank. Veel bedrijven gebruiken HackerRank voor codeeruitdagingen, en HackerRank heeft een Interview Preparation Kit samengesteld om u te helpen bij de voorbereiding op interviews. De kit bespreekt veel van dezelfde onderwerpen die Cracking the Coding Interview doet, maar geeft je een platform om de concepten toe te passen door fysiek te coderen. Dit zal je helpen om te wennen aan een online codeeromgeving die erg lijkt op degene die wordt gebruikt in echte interviews.

Het daadwerkelijke interview

Je interview is hier. Het gedragsgedeelte is gekomen en gegaan. Het is tijd om te gaan.

Nadat u het probleem voor het eerst hebt ondervonden, moet u even nadenken. Heb niet het gevoel dat je meteen naar een oplossing moet rennen. Bespreek uw aanpak met uw interviewer voordat u begint met coderen. Soms wil de interviewer een efficiëntere oplossing dan uw oorspronkelijke oplossing voordat u begint met coderen, of hij kan u vertellen dat ze niet geven om efficiëntie en dat elke oude brute-force-aanpak prima is.

Dit geeft de interviewer ook de kans om u feedback te geven. Vraag daarom regelmatig om feedback of begeleiding. Sommige interviewers hebben me op deze manier enorm geholpen. Zie het interview minder als een examen, meer als een samenwerking om problemen op te lossen.

Kleine tip: als u de exacte syntaxis van een taalspecifieke functie niet meer weet, vraag dan of u deze kunt opzoeken. Uit mijn ervaring kan dat meestal, of de interviewer zal je functiehandtekeningen geven die je kunt gebruiken.

Veel succes!

Hopelijk heb je wat geleerd van dit artikel. Tijdens mijn undergraduate-reis heb ik veel ondersteunende collega's en mentoren gehad die me begeleiding en advies gaven. Ik hoop het vooruit te betalen en je zoektocht naar een stage een beetje gemakkelijker te maken.

Als je persoonlijke begeleiding wilt, stuur me dan een bericht op LinkedIn. Voeg een kleine opmerking toe die naar dit artikel verwijst, zodat ik weet dat u niet alleen probeert uw aantal verbindingen te vergroten. Bedankt voor het lezen! Succes!