This document provides advice for getting a software development internship. It discusses why the author is qualified to give advice, how to get an interview, preparing for interviews, the interview process, resume building, networking, applying to many companies, and approaching interview questions. Key points include gaining experience with multiple programming languages through online courses and projects, attending hackathons, networking, applying widely, and practicing behavioral and coding interview questions by thinking through examples out loud rather than on a computer.
7. Are you ready?
If you’re at WashU, have you taken CSE241?
Linked Lists
Binary Trees
Tries
Stacks
Queues
Vectors / Array Lists
Hashtables
Breadth First Search
Depth First Search
Binary Search
Merge Sort
Quick Sort
Tree Insert / Find / etc
Bit Manipulation
Singleton Design
Factory Design
Memory Hierarchy
Stack vs Heap
Recursion
8. Why you should listen to me
How to get an interview
How to approach interview practicing
12. Quantifiable Bullet Point
Organized and directed a team with diverse technical
backgrounds in the design of an urban disaster relief application.
What technologies did you use?
What was it for?
Who did you help?
How well did it perform its job?
What recognition did it receive?
13. Quantifiable Bullet Point
Wrote web application in Python, HTML, and JavaScript that
checks if internal bridge lines are currently being used, and
updates a database correspondingly.
15. You don’t want a recruiter to
think you’re just a
__________ developerJAVA
16. You don’t want a recruiter to
think you’re just a
__________ developeriPhone
17. You don’t want a recruiter to
think you’re just a
__________ developerWeb
18. Projects and Languages
Knowing several languages signals to a company that you are
capable of being put on any project
Online courses make this extremely easy to learn
A projects proves you know that language
19. Go to Hackathons
Utilize a new technology or language
Create a projects to put on a resume
Free t-shirts, swag, food, prizes
Meet with recruiters and other smart people
20. Networking
Getting an interview can be the hardest part of the application
process
Critical if your school doesn’t attract top companies
Referrals are both everything and nothing
21. Apply, Apply, Apply
Make an A / B List of Companies, but interview everywhere
Multiple offers give you leverage, even for internships
22. Why you should listen to me
How to get an interview
How to approach interview practicing
24. Behavior Question
Memorize Resume Talking Points
Most Interesting ProjectConflict with Teammates
Hardest Bug
Most Interesting
What languages did you use?
25. Coding Questions
Done on paper or a whiteboard or collaborative doc
so don’t practice on a computer
26. Coding Questions
Ask Questions
What attributes does the data have?
What resources / libraries can I use?
What constraint’s do I have?
What is the context?
29. Coding Questions
Test your code
What happens at negative?What happens at 0?
What happens at a million values?
Does it do what you think it does?
30. Coding Questions
Remember, these are hard.
Go Slow. Stay Calm. Deep Breath.
Start with any answer, work towards the best one.
Often getting a question wrong does not mean you
did poorly.
31. This is just the start.
There are immediate significant payoffs to putting in
hard work in a few specific areas.
The best way to be successful is to become
comfortable with this process.