In this workshop, we explore ways to prepare for internship applications and interviews. In the workshop you will:
Learn how to apply for internships
Prepare for interview questions
Follow-up with employers
Receive tips that help you secure internships
2. InternshipsTimeline
When should I apply for summer internships?
• Begins in fall of the year prior.
• Runs all the way up to late May.
• The heaviest volume: between late
February and early April.
• No industry-specific, standard deadlines
2
3. • Follow good samples and templates.
• Use the reverse-chronological layout.
• Show your best moments at a glance.
• Save your resume in PDF format.
3
WriteaResume
To quickly summarize your work history and skill
sets
4. TwoResumeSummaryExamples
WRONG
Software engineer with 3 years
experience, skilled in C, C++, Java, Python,
Javascript, C#, Perl, ASP.NET, PHP, and
SQL, looking for a software-engineering
position.
RIGHT
A software engineer with 3 years
experience developing robust code for
big-data applications. Increased code-
efficiency of AUCorp customer portal by
48%. Boosted customer retention by 25%.
Spearheaded a team that won the 2018
New-Tech Award for cybersecurity
engineering.
4
Reference: zety.com/blog/software-engineer-resume
6. • Do your research
• Plan some questions
• Organize your paperwork
• Prepare an outfit
• Don’t be late
6
BeforeInterview
5 Things to do before your internship interview
12. FollowingUp
How to follow up after an interview?
• Within 24 hours
• An Email or thank-you card to everyone
who interviewed you
• Mention anything you forgot to say
• Address/correct any mistake you made
• Remind why you are qualified
12
The absolute best way to prepare, bar none, is to do a little bit of preparation work every single day between now and the interview. Even if you don’t have an interview lined up yet, get started. Every little bit counts.
Daily practice questions are a good place to start, but don’t neglect other aspects like researching companies and technologies or refining what you’re going to say about yourself in terms of your credentials and experience. All of that is covered later in this article.
It’s important that you set realistic but challenging goals with your daily practice. Don’t make the mistake of doing too little every day — you need to take it seriously! — but don’t cram too much either. That’s how you end up with mental burnout.
5 Critical Mistakes To Avoid When Setting Goals 5 Critical Mistakes To Avoid When Setting GoalsGoal setting is a great way to cut down on procrastination and boost productivity. If you don’t have goals, you don’t have direction. Without direction, it’s easy for you to feel lost and confused. Fortunately,...READ MOREEven more important than that is to start early! Again, start RIGHT NOW if you’re able to. If the interview is several months away, maybe you can afford to wait a bit before starting, but we recommend starting at least six weeks out.
The ultimate aim is to prevent overworking yourself, which can be counterproductive and overwhelming.
As soon as you have an interview lined up, it’s in your best interest to research the company as much as possible. Context is everything when it comes to productive preparation. After all, your end goal is to meet your prospective employer’s needs.
Start with the job listing. Is it for an MMORPG game development position? Then you ought to be familiar with the tools and frameworks used in that field. Same thing is true for the development of mobile apps, business suites, web frontends, server backends, or what have you.
If the information is available, you should also study the specific technologies used by the company itself. You don’t have to be an expert (unless the job listing calls for it) but you should know enough to hold a decent conversation on it.
Study the right languages and concepts. Some of the bigger companies will interview you using the language you’re most comfortable with, but others want to test your expertise with their chosen language whether it be Java, C#, Python, etc.
It’s up to you to know what they expect from you. This simple but crucial step could significantly improve your programming career opportunities.
There are a lot of things you need to know: data structures, algorithms, industry standard libraries and frameworks, and more. Nobody expects you to know everything, but you should be confident in the things you do know.
Commonly covered topics include:
Nuances of certain programming languages, especially dynamic programming languages which have become popular lately. Understanding the principles of OOP is critical.
Arrays, Linked Lists, Stacks, Queues, Heaps, Hash Tables, Binary Trees (including Binary Search Trees and Self-Balancing Binary Trees).
Big O Notation (time and space complexities), Sorting, Searching, Recursion, Graph Theory and Traversals, Divide and Conquer, Greedy Algorithms.
Patterns such as Singletons, Factories, Composition, Multiple Inheritance, Polymorphism, Decorators.
And, of course, field-specific topics depending on the position you’re applying to (i.e. SQL queries for databases or UDP/TCP for network programmers).
If some of these topics make you nervous, that’s what you should be practicing. Identify your weaknesses and strengthen them. That will end up being more helpful to you in the long run because it will build up your confidence.
Fortunately, there are plenty of web tools you can use to practice data structures and algorithms. Here are some of our favorites:
7 Unique Ways To Practice Your Coding Skills 7 Unique Ways To Practice Your Coding SkillsLet's repeat -- there's no age to learning. Once you are on that path, you just have to keep practicing. And today there are more ways than one to sharpen your coding chops.READ MOREProject Euler
LeetCode
HackerRank
CodinGame
Topcoder
Code Wars
CodeChef
/r/DailyProgrammer on Reddit
But don’t just rely on rote memorization. Programming interviews — the good ones, anyway — are meant to see how you approach problems, what your problem solving process looks like, and where the edges of your capabilities are. Data structures and linked lists are must have tools in your belt.
It’s one thing to study on your computer and type out code in your favorite IDE. It’s a completely different experience to write out your code on paper with pencil or on a whiteboard with marker — without Google as a backup.
Gives new meaning to the idea of writing better code.
10 Tips for Writing Cleaner & Better Code 10 Tips for Writing Cleaner & Better CodeWriting clean code looks easier than it actually is, but the benefits are worth it. Here's how you can start writing cleaner code today.READ MORE
Don’t underestimate the importance of mock interviews. Set them up to simulate the interview environment as closely as you can: no computers, no phones or tablets, a sheet of paper, a pencil, and a timer for 30–60 minutes.
By practicing in this way, the actual interview won’t feel like such a foreign experience, and this can really go a long way towards reducing nervousness and making sure you’re concentrating 100% on the questions before you.
There are even online services that offer mock programming interviews for free. They aren’t perfect, of course, but they can be very useful if you need the person-to-person practice.
Pramp (one-on-one, video)
Interviewing.io (one-on-one, audio)