Learn why you should do internships, how to choose, and of course, how to get them!
This was originally presented on 2nd September 2016 during Friday Hacks #116 hosted by NUS Hackers.
Watch a video of the presentation here: https://engineers.sg/video/friday-hacks-116-internships-and-why-you-should-do-them-nus-hackers--1105
4. Do something impactful while in
why internship?
You get to see your work and
decisions in the hands of
millions of people all over the
world.
5.
6.
7.
8. Learn a lot
why internship?
Learn from some of the
smartest people in world of
tech.
As you learn, you become more
attractive to future employers.
Learning is compounded.
You come back to school with a
lot of context for your
modules.
9. Discover what you like
why internship?
Is it software engineering?
mobile? infra? frontend,
design, UX, testing?
Do you like working in a tech
company?
3 month dry run.
Do you like the company
culture?
10.
11.
12. Fun
why internship?
Travelling is fun!
Working at a tech company is
pretty fun!
Meet the whoâs who in tech.
Meet people from other
colleges.
13.
14.
15.
16. Perks
why internship?
USD7000 - USD8000/mth.
Free lodging, food, bikes,
laptops, shirts etc.
Other perks: discounts,
massages, etc.
17. Perks
why internship?
USD7000 - USD8000/mth.
Free lodging, food, bikes,
laptops, shirts etc.
Other perks: discounts,
massages, etc.
24. Common Refrains
zero to one internship
My resume is not ready.
Iâm not ready.
Iâm not ready for interviews.
I need time to study for my interview.
I donât know, I really want to work at this company, what if I screw
up.
I applied to a company already, just waiting for a response.
...
26. Step 1: Apply
zero to one internship
Internship applications start in the fall (Sept) and stretch till Jan. You
should start applying now.
â˘Jobâs site
â˘eg. https://asana.com/jobs/
â˘in general: company.com/{jobs/career}/
â˘Career fair
â˘Info sessions/Tech talks
â˘Referral
28. Step 2: First Contact
zero to one internship
Maybe a pre-screen challenge
Recruiter gets back to you.
Prepares you for the upcoming rounds
Schedules future rounds
29. Step 3: Phone Screens & Technical Interviews
zero to one internship
I speak only for software engineering roles
Topics include:
⢠recall questions
⢠cs fundamentals
⢠algorithms
⢠operating systems
⢠networks
⢠technical discussions
⢠coding (whiteboard or collaborative editor)
⢠problem solving
⢠runtime analysis
⢠system design
30. Step 3: Phone Screens & Technical Interviews
zero to one internship
â˘Several rounds
â˘phone screens
â˘technical interviews
â˘Increasing level of diďŹculty
â˘Usually progresses from non-coding to coding.
â˘Varies most here: Interns vs. full-time
â˘might have fewer rounds for interns - woot!
â˘might require onsites for full-time
32. Some thoughts on technical
interviews
something youâll probably have to do
eventually
33. What happens
technical interviews
â˘45 minutes - 1 hour
â˘Outline
â˘Intro, soft questions
â˘Actual question (usually only one)
â˘Possibly another question
â˘Q&A (You ask the questions)
â˘Might be in person, with a whiteboard, or over the phone, with a
collaborative editor (coderpad, google docs, etc).
34. Sample soft questions (Behavioral)
technical interviews
â˘Tell me a project that you've worked on that's technically
challenging and walk me through your problems and how you
solved them.
â˘Tell me about yourself
â˘Tell me about [X]
â˘[X] is something on your Resume
35. Sample soft questions (Culture ďŹt)
technical interviews
â˘Do you use our product? What do you love about it and why?
â˘Why do you want to join [the company]?
36. Sample technical questions (short, recall)
technical interviews
â˘What is 0x05 + 0x1a
â˘What is a deadlock?
â˘What isâthisâ? (JavaScript)
â˘What is the runtime of various operations of a hashtable?
â˘Whatâs the diďŹerence between a process and a thread?
37. Sample technical questions (non-coding)
technical interviews
â˘Explain to me what happens when I typeâgoogle.comâinto the
address bar.
â˘Design bit.ly
38. Sample technical questions (coding)
technical interviews
â˘Find an element in a sorted, pivoted array.
â˘[1,2,3,4,5] => [4,5,1,2,3]
â˘How many ways are there to buy a given amount of coke if they
come in the following sizes: 1, 6, 24?
â˘eg. 7 => [1,1,1,1,1,1,1], [1,6] => 2 ways.
â˘Implement a stack with an additional #min method that returns the
min element in constant time.
39. Sample technical questions (coding, rare!)
technical interviews
â˘Design and build a simple application in framework X
â˘Programming language speciďŹc questions (how do you do X in
language Y?)
40. Me: Before the interview.
technical interviews
â˘Practice practice practice
â˘Donât cheat. It wonât work.
â˘Be fresh and ready for the interview
â˘Donât underestimate a phone screen.
â˘logically: youâre expected to bring your best self for the
interview..
â˘Practice soft questions as well
â˘Donât sweat this.
â˘But often underestimated.
â˘Donât want to get oďŹ on a bad start.
â˘Think of questions to ask the interviewer
â˘Some people have pet questions they like to ask every time.
41. Me: Before the interview.
technical interviews
â˘Topcoder, leetcode, hackerrank
â˘Read: cracking the coding interview
â˘WRITE CODE ON PAPER.
42. At a high level
technical interviews
The interview is meant to be a conversation to access:
â˘Whether you can ďŹt in as aâpeerâ
â˘taking part in technical discussions
â˘able toâconverseâon the same level
â˘How you measure up against other candidates
â˘are you good (enough)
â˘Whether you are someone theyâd want to work with
43. Me: during
technical interviews
â˘Think before you speak
â˘Its okay to take a few seconds to think.
â˘jumping to conclusions is pretty bad/unrecoverable.
â˘Clarify any doubts
â˘Communication skills.
â˘You can always ask them to repeat stuďŹ, or for examples, input/
output (when given questions)
â˘Articulate your thoughts clearly
â˘this is super important.
â˘esp. if not in person
â˘explain what you are thinking, every step of the way.
45. Me: during
technical interviews
â˘OCD, code should compile.
â˘Donât be sloppy with semi-colons, braces, indentation, syntax (its
not that hard)
â˘write pseudocode ďŹrst, replace with real code as you go along
â˘test proactively
â˘after completion, run your code.
â˘âIâm going to step through my code now to make sure I donât
make any obvious errorsâ
â˘test meticulously
â˘List testcases on the board.
â˘Step through every line, every variable assignment.