gouldcs / interview-prep

A general guide to help students prepare properly for interviews. This is open-source, feel free to add any code examples, tips, or information that you'd like. If you do contribute, please add your name to LICENSE as an author.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Get an undergraduate internship

I'm writing this repo to keep track of everything I have done and continue to do in order to get an internship at basically any company I want. I messed up, it's already March of my Junior year. My very first piece of advice is to do this stuff earlier. Start your Sophomore year, even your Freshman year. If you aren't in college, start now. This will include resources to reference that help you learn the fundamentals for the interview process. I'm assuming you know data structures and algorithms. Good luck!

Step 1: Build a schedule, make it work

  • Spend 3 hours a day on preparing for an interview
  • 2 hours should be used to work on leetcode problems
  • 1 hours should be dedicated to applying to internships

Step 2: Learn & Review the fundamentals

  • Data Structures and Algorithms are your friend
  • Watch YouTube videos on algorithms, not lectures
  • Do LeetCode and Hackerrank problems, Easy/Medium
  • Read 'Cracking the Coding Interview
  • Invest in LeetCode Premium and use it

Step 3: Mentally Prepare for the Technical and Behavioral Interview

  • Replace LeetCode and Hackerrank time with mock interviews
  • Put yourself in uncomfortable positions where someone watches you code
  • Read and judge other people's code
  • Continue to apply to new jobs
  • Your school's Career Development (or equivalent) office may offer interviewing practices

Step 4: Revise Your Resume

  • If you are not getting as many call backs as desired, you need to fix your resume
  • Increase your number of projects
  • Try to make your projects impressive, using relevant enterprise technologies
  • Get rid of irrelevant work experience, highlight your tech experience
  • In your bullet points, each should describe 'what, how, why'
  • be very specific and use plenty of keywords that reference the technologies you utilized
  • if you can't fit it all, change your format so you can
  • get rid of irrelevant achievements
  • do not list any skills that you barely have. If you list a language that you are not familiar with, you run the risk of your interviewer asking you to use it for your technical interview
  • Order things by how much experience you have with them. first in the list indicates your best technology, and the end of the list indicates you are least familiar with it

Step 5: Study What They Give You

  • Companies may send you a very general 'study guide' for your interview
  • Study the hell out of anything that could be on that interview
  • Interviews are usually scheduled within 2 weeks of being offered, so you have little time
  • Any preparation before this point is vital, this can be easy if you did enough LeetCode and Hackerrank
  • Prepare questions for the company by researching their industry, mission statement, company culture, etc., these questions show you have genuine interest in working for them

Miscellaneous:

  • If you think this is easy, it isn't. I've spent my entire college career trying to simplify CS in every way I can. There is no escaping this part of the grind. If there was, I would have found it and shared it
  • Don't waste any time, start now
  • Modify your resume for different positions
  • Make sure to have several languages that you are familiar with and can use to code during a technical interview
  • Practice LeetCode and Hackerrank problems in multiple languages

About

A general guide to help students prepare properly for interviews. This is open-source, feel free to add any code examples, tips, or information that you'd like. If you do contribute, please add your name to LICENSE as an author.

License:MIT License


Languages

Language:Python 100.0%