SlideShare ist ein Scribd-Unternehmen logo
1 von 31
the
About Me?
• Greg Roderick @ Infusion
• Practice Manager, Web
• Waterloo Grad, CompEng 2005
• Co-op at Infusion
• Dev -> Team Lead -> Manager
• American Idol, Indigo
• Tech Interviewer
Who Are We?
We’re entrepreneurs for enterprise.
• Boutique Consulting
• New Technologies and Frameworks
• Design & Development
There are 640 Infusionites in
the world today.
INFUSION GLOBAL OFFICES
TORONTO
BOSTON
NEW YORK
RALEIGH
HOUSTON
SINGAPORE
LONDON
MALTA
WROCLAW
KRAKOW
We’re serious about co-ops and New Grads
• 75% of our executive team is made up of UW Alumni
• 60% of our co-ops join Infusion full time
• 2014 co-ops/grads in Toronto, NYC, Houston, Raleigh, London and Krakow
• In the last 12 months, 5 co-ops and new grads won awards for their work.
• We run an intense month-long technical Bootcamp for our New Grads
The Interview Obstacle Course…
• RecruiterFilter Resumes
• RecruiterPhone Screen
• Developer
Phone Tech
Interview
• Snr Dev / Architect
In Person
Tech
• Hiring ManagerFinal
50x
1x
MY MISSION:
DECIDE IN 1hr IF YOU ARE A HIRE
Interviewing is hard….more voodoo than science
So what *am* I looking for?
Put yourself in my shoes…
The 3 real questions…
Smart?
Gets Things Done?
Fit the team ?
HIRE!BAD! Maybe?
YOU?
People fall into 3 categories…
1st Goal:
Don’t #InterviewFail
• Don’t be late (10 mins early is ideal)
• Don’t be rude to the receptionist
• Fishy handshake
• Don't Lie, don't try to fake it
• Don't rant or get frustrated
• Suits optional – but don’t underdress
• Hygiene: nails, shave, nose hair
2nd Goal: #StandOut
• Be Yourself
• Be Confident
• Smile + Body Language
• Be Passionate
• Get Excited
• Stay Calm
• Keep it SIMPLE
• Keep it SHORT
The Format – 60 mins
• Introductions: 5 mins
• CS Fundamentals: 20 mins
• Tech Specific : 10 mins
• Algorithm(s): 15 mins
• Questions? 10 mins
The Introductions
“Tell me about yourself?”
“Tell me about your last job?”
“What’s your fav class this term?”
“What languages are you strong in?”
My Goals:
• First impressions + attitude
• Get you talking: communication
• Break the ice: help you relax
Sell Yourself (#StandOut)
Paint the picture of who you are
• Relevant skills, experience, interests
• Unique abilities, outside of school/work, hobbies
• Side projects, Open Source, Blogs, reading…
Confident, Positive, Articulate, Smart
• Firm handshake, smile – be yourself
• Goals? What kind of job are you looking for?
• Highlight positives from prior roles;
Practice Your Elevator Pitch
• Keep it to 1 minute or less – short, simple
• Highlight 2-3 recent jobs, not all of them
• Have 3 main points; tie them together
• OOP Fundamentals
• Data Structures /Memory Management
• Multithreading / Concurrent Programming
• Coding Best Practices
• Databases
My Goals:
• Measure experience, aptitude
• Assess breadth and depth – grill, find gaps
• Do you get it vs memorizing definitions
• “Why” / “How does” vs What Is questions
• Can you give me an example?
• How have you applied this in a project?
• What happens if…
CS Fundamentals
Tips:
Prepare for interviews like studying for exams
• Create a list of topics to review
• Be prepared to talk to anything on your resume
• Read up! Pull out your textbooks or go online
• Focus on understanding (vs memorizing)
If you don’t know something…
• Be honest…then make an educated guess
• It’s ok to ask for a hint or how something works
• Jot down ‘misses’…look up and learn
Provide an examples, not just definitions
• Show you understand / have used it
• Cite built-in examples from major frameworks
• Don’t go overboard (keep it short, simple)
Data Structures
• Array[], ArrayList, List<T>
• HashMap/HashTable
• Linked Lists, Queues, Stacks
• Trees, Graphs
• Generics
OOP Fundamentals
• “What is Object Oriented Programming?”
• Polymorphism
• Overload vs Override
• Abstract Classes
• Interfaces
• Access Modifiers
• Static, Final, Readonly
• Constructors & Destructors
Memory Management
• Scopes
• Struct vs Class
• Pass By Value vs Pass By Reference
• Stack vs Heap
• Pointers & References
• Garbage Collector
• IDisposable / using scopes
Multithreading
/Concurrent Programming
• Threads vs Processes
• Async, wait, notify, sleep
• Context Switching
• Race conditions, deadlock
• Locks / Mutexes / Semaphores
Coding Best Practices
• Exception Handling
• Logging
• Source Control
• Commenting
• Naming Conventions
• Testing
• Debugging
• Build Management
Databases
• Schema Design / Normalization
• Select Statements
• Joins
• Aggregate Funcs / Group By
• Transactions / ACID
• Tables vs Views
• Stored Procedures
• ORMs
Algorithms & Problem Solving
• The “hard” part of the interview….
• Measuring Aptitude:
• Applying what you know
• Solving “new” problems.
• “Hands On” vs Theory: Whiteboarding, writing code
• Thought Process & Reasoning
• Communication
Problem Solving & Puzzles
• How many golf balls fit in a bus?
• How many times do a clock’s hands overlap?
• 8 balls, same size, 7 same weight. Find heavy
ball using a balance and only 2 weighings
Tips:
• “Right” matters less than thought process
• Talk your way through the problem
• Break it down. State/clarify assumptions
• Draw/write it out: visualize your logic
(Draw clock, hands on it, “move” the hands…)
FizzBuzz & Data Structures
• “Reverse a linked list”, “Find if linked list has cycle.”
• “Find the biggest number in an array”,
• “Find which characters repeat in a string”
Tips:
• Problems not “hard”; goal to filter weak candidates
• Know your data structures and their properties
• Study samples on internet – you may see exact Q
• BUT “knowing the answer” isn’t the point, you need
to be able to explain
• Get started; how quickly you can solve matters
ACM-Style Problems
“I have an array of Apple stock prices from yesterday;
with the index is the time in minutes from the open
and the value is the price at that time. In one buy
and one sell, find the maximum profit.”
Tips:
• Make sure you understand the problem; “replay” it
• State assumptions, think about corner cases
• TALK through a base case; get *a* working solution
• Write out pseudo code/comments
• What is the runtime? Understand Big O notation
• Optimize: look at loops, look at data structures
• Think hashtables; very useful for fast access storage
• STUDY! Practice these kinds of problems
Do you have any questions for me?
• Is this the company for you? Choose between offers?
• This is your best chance to really understand this company
• Your interviewer is a window to the people at the company
• Great questions = great way to convey your attitude
Tips:
-Always take advantage of this opportunity
-Know what factors you’re looking for in a job/company
-OK to write & bring prepared questions
-Skip “administrative” questions; (ask the recruiter)
-Show you’ve done your homework
-Communicate excitement vs “what’s in it for me?”
-Connect on a personal level
Some suggestions…
• “What was your experience like as a new joiner to Infusion? What was the
biggest pleasant surprise? The biggest challenge?”
• “What have your recent interns/new grads worked on...have they come
back? If not, why not?”
• “What advice would you give to someone starting in this role?”
• “What is your favourite part of working here?”
• “What would a typical day or week be like in this role?”
Instead of….
• “What is the dress code?”
• “Do you send devs to conferences?”
• “Who are you customers?”
• “What is the pay?”
• “Did I get the job?”
Try…
• “Everyone seems friendly and energetic – can
you tell me more about the culture?”
• “How do you support continual learning for your
employees, especially new grads?”
• “I was really impressed with <case study>. What
have been some of your favourite projects?”
• “What do you see as the near term challenges
and long term opportunities of this role?”
• “Do you have any feedback on how today went?”
References & Resources
Algorithms & Problem Solving
https://codility.com/programmers
https://www.hackerrank.com
https://open.kattis.com
https://www.interviewcake.com
http://www.codewars.com

Weitere ähnliche Inhalte

Was ist angesagt?

The corporate u powerpoint template (1)
The corporate u powerpoint template (1)The corporate u powerpoint template (1)
The corporate u powerpoint template (1)
Marshall Karp
 

Was ist angesagt? (20)

Restarting at 50: Moving Forward from an Unexpected Job Loss Later in Life
Restarting at 50: Moving Forward from an Unexpected Job Loss Later in LifeRestarting at 50: Moving Forward from an Unexpected Job Loss Later in Life
Restarting at 50: Moving Forward from an Unexpected Job Loss Later in Life
 
Performance Cubed
Performance Cubed Performance Cubed
Performance Cubed
 
Re-Launch You: Career Transition Tactics and Tools
Re-Launch You: Career Transition Tactics and ToolsRe-Launch You: Career Transition Tactics and Tools
Re-Launch You: Career Transition Tactics and Tools
 
Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
Phase 3: Better ideas (Presentation at SalesForce 1-28-2015)
 
SoT2016 Nailing Meet & Greet
SoT2016 Nailing Meet & GreetSoT2016 Nailing Meet & Greet
SoT2016 Nailing Meet & Greet
 
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
TAPOST Conference 2016 Riga // Better Products Faster: Let's bring the user i...
 
ICT School - How to write a better resume
ICT School - How to write a better resume  ICT School - How to write a better resume
ICT School - How to write a better resume
 
Context Chat - why, what & how
Context Chat - why, what & howContext Chat - why, what & how
Context Chat - why, what & how
 
Job Search in ANY Economy by Kathryn Scahill, NCC, DCC
Job Search in ANY Economy by Kathryn Scahill, NCC, DCCJob Search in ANY Economy by Kathryn Scahill, NCC, DCC
Job Search in ANY Economy by Kathryn Scahill, NCC, DCC
 
Mokita training
Mokita trainingMokita training
Mokita training
 
Freelancing
FreelancingFreelancing
Freelancing
 
Johns Hopkins Innovation Factory - Entrepreneur Development Program #1
Johns Hopkins Innovation Factory - Entrepreneur Development Program #1Johns Hopkins Innovation Factory - Entrepreneur Development Program #1
Johns Hopkins Innovation Factory - Entrepreneur Development Program #1
 
Re-Launch You: Liftoff After Layoff - Updated
Re-Launch You: Liftoff After Layoff - UpdatedRe-Launch You: Liftoff After Layoff - Updated
Re-Launch You: Liftoff After Layoff - Updated
 
Productivity: The Secret Sauce for Job Search
Productivity: The Secret Sauce for Job SearchProductivity: The Secret Sauce for Job Search
Productivity: The Secret Sauce for Job Search
 
Principals Of Success For Job Hunting And Career Development
Principals Of Success For Job Hunting And Career DevelopmentPrincipals Of Success For Job Hunting And Career Development
Principals Of Success For Job Hunting And Career Development
 
Craig Sullivan - Keynote speaker summary & final thoughts - Conversion Hotel ...
Craig Sullivan - Keynote speaker summary & final thoughts - Conversion Hotel ...Craig Sullivan - Keynote speaker summary & final thoughts - Conversion Hotel ...
Craig Sullivan - Keynote speaker summary & final thoughts - Conversion Hotel ...
 
The corporate u powerpoint template (1)
The corporate u powerpoint template (1)The corporate u powerpoint template (1)
The corporate u powerpoint template (1)
 
The 3 P's for a fresh start in 2014
The 3 P's for a fresh start in 2014The 3 P's for a fresh start in 2014
The 3 P's for a fresh start in 2014
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
 
Develop winning federal_proposals
Develop winning federal_proposalsDevelop winning federal_proposals
Develop winning federal_proposals
 

Ähnlich wie Rock the tech interview january 2015

Hiring the best at Opower
Hiring the best at OpowerHiring the best at Opower
Hiring the best at Opower
Roderick Morris
 

Ähnlich wie Rock the tech interview january 2015 (20)

Be the Captain of Your Career
Be the Captain of Your Career Be the Captain of Your Career
Be the Captain of Your Career
 
Lecture 30
Lecture 30Lecture 30
Lecture 30
 
How to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical InterviewHow to Prepare for and Survive a Technical Interview
How to Prepare for and Survive a Technical Interview
 
Increasing your corporate value
Increasing your corporate value  Increasing your corporate value
Increasing your corporate value
 
20180324 zen and the art of programming
20180324 zen and the art of programming20180324 zen and the art of programming
20180324 zen and the art of programming
 
Hiring the best at Opower
Hiring the best at OpowerHiring the best at Opower
Hiring the best at Opower
 
Optimize Your Job Search Workshop
Optimize Your Job Search WorkshopOptimize Your Job Search Workshop
Optimize Your Job Search Workshop
 
Preparing for Today's Job Market - The Interview
Preparing for Today's Job Market - The InterviewPreparing for Today's Job Market - The Interview
Preparing for Today's Job Market - The Interview
 
RED ACADEMY: MAKE YOUR MARK
RED ACADEMY: MAKE YOUR MARKRED ACADEMY: MAKE YOUR MARK
RED ACADEMY: MAKE YOUR MARK
 
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
[SIGGRAPH ASIA 2011 Course]How to write a siggraph paper
 
Hire, Train,Terminate: Breaking the Cycle
Hire, Train,Terminate: Breaking the CycleHire, Train,Terminate: Breaking the Cycle
Hire, Train,Terminate: Breaking the Cycle
 
Tools For Lean Startup Wizards
Tools For Lean Startup WizardsTools For Lean Startup Wizards
Tools For Lean Startup Wizards
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
You Cant Be Agile If Your Code Sucks (with 9 Tips For Dev Teams)
 
Do testers have to code... to be useful?
Do testers have to code... to be useful?Do testers have to code... to be useful?
Do testers have to code... to be useful?
 
Hands on with the Design Studio Method
Hands on with the Design Studio MethodHands on with the Design Studio Method
Hands on with the Design Studio Method
 
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad..."How do I Architect?"  - Quick Introduction to Architecture for Salesforce Ad...
"How do I Architect?" - Quick Introduction to Architecture for Salesforce Ad...
 
GENERAL ASSEMBLY: Job Standup PT1
GENERAL ASSEMBLY: Job Standup PT1GENERAL ASSEMBLY: Job Standup PT1
GENERAL ASSEMBLY: Job Standup PT1
 
Bus 301 Week 2
Bus 301 Week 2Bus 301 Week 2
Bus 301 Week 2
 
#READY TO WORK
#READY TO WORK#READY TO WORK
#READY TO WORK
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 

Rock the tech interview january 2015

  • 1. the
  • 2. About Me? • Greg Roderick @ Infusion • Practice Manager, Web • Waterloo Grad, CompEng 2005 • Co-op at Infusion • Dev -> Team Lead -> Manager • American Idol, Indigo • Tech Interviewer
  • 3. Who Are We? We’re entrepreneurs for enterprise. • Boutique Consulting • New Technologies and Frameworks • Design & Development There are 640 Infusionites in the world today.
  • 4. INFUSION GLOBAL OFFICES TORONTO BOSTON NEW YORK RALEIGH HOUSTON SINGAPORE LONDON MALTA WROCLAW KRAKOW
  • 5.
  • 6.
  • 7. We’re serious about co-ops and New Grads • 75% of our executive team is made up of UW Alumni • 60% of our co-ops join Infusion full time • 2014 co-ops/grads in Toronto, NYC, Houston, Raleigh, London and Krakow • In the last 12 months, 5 co-ops and new grads won awards for their work. • We run an intense month-long technical Bootcamp for our New Grads
  • 8.
  • 9. The Interview Obstacle Course… • RecruiterFilter Resumes • RecruiterPhone Screen • Developer Phone Tech Interview • Snr Dev / Architect In Person Tech • Hiring ManagerFinal 50x 1x
  • 10.
  • 11. MY MISSION: DECIDE IN 1hr IF YOU ARE A HIRE Interviewing is hard….more voodoo than science So what *am* I looking for? Put yourself in my shoes… The 3 real questions… Smart? Gets Things Done? Fit the team ?
  • 12. HIRE!BAD! Maybe? YOU? People fall into 3 categories…
  • 13. 1st Goal: Don’t #InterviewFail • Don’t be late (10 mins early is ideal) • Don’t be rude to the receptionist • Fishy handshake • Don't Lie, don't try to fake it • Don't rant or get frustrated • Suits optional – but don’t underdress • Hygiene: nails, shave, nose hair
  • 14.
  • 15. 2nd Goal: #StandOut • Be Yourself • Be Confident • Smile + Body Language • Be Passionate • Get Excited • Stay Calm • Keep it SIMPLE • Keep it SHORT
  • 16. The Format – 60 mins • Introductions: 5 mins • CS Fundamentals: 20 mins • Tech Specific : 10 mins • Algorithm(s): 15 mins • Questions? 10 mins
  • 17. The Introductions “Tell me about yourself?” “Tell me about your last job?” “What’s your fav class this term?” “What languages are you strong in?” My Goals: • First impressions + attitude • Get you talking: communication • Break the ice: help you relax
  • 18. Sell Yourself (#StandOut) Paint the picture of who you are • Relevant skills, experience, interests • Unique abilities, outside of school/work, hobbies • Side projects, Open Source, Blogs, reading… Confident, Positive, Articulate, Smart • Firm handshake, smile – be yourself • Goals? What kind of job are you looking for? • Highlight positives from prior roles; Practice Your Elevator Pitch • Keep it to 1 minute or less – short, simple • Highlight 2-3 recent jobs, not all of them • Have 3 main points; tie them together
  • 19. • OOP Fundamentals • Data Structures /Memory Management • Multithreading / Concurrent Programming • Coding Best Practices • Databases My Goals: • Measure experience, aptitude • Assess breadth and depth – grill, find gaps • Do you get it vs memorizing definitions • “Why” / “How does” vs What Is questions • Can you give me an example? • How have you applied this in a project? • What happens if… CS Fundamentals
  • 20. Tips: Prepare for interviews like studying for exams • Create a list of topics to review • Be prepared to talk to anything on your resume • Read up! Pull out your textbooks or go online • Focus on understanding (vs memorizing) If you don’t know something… • Be honest…then make an educated guess • It’s ok to ask for a hint or how something works • Jot down ‘misses’…look up and learn Provide an examples, not just definitions • Show you understand / have used it • Cite built-in examples from major frameworks • Don’t go overboard (keep it short, simple)
  • 21. Data Structures • Array[], ArrayList, List<T> • HashMap/HashTable • Linked Lists, Queues, Stacks • Trees, Graphs • Generics OOP Fundamentals • “What is Object Oriented Programming?” • Polymorphism • Overload vs Override • Abstract Classes • Interfaces • Access Modifiers • Static, Final, Readonly • Constructors & Destructors
  • 22. Memory Management • Scopes • Struct vs Class • Pass By Value vs Pass By Reference • Stack vs Heap • Pointers & References • Garbage Collector • IDisposable / using scopes Multithreading /Concurrent Programming • Threads vs Processes • Async, wait, notify, sleep • Context Switching • Race conditions, deadlock • Locks / Mutexes / Semaphores
  • 23. Coding Best Practices • Exception Handling • Logging • Source Control • Commenting • Naming Conventions • Testing • Debugging • Build Management Databases • Schema Design / Normalization • Select Statements • Joins • Aggregate Funcs / Group By • Transactions / ACID • Tables vs Views • Stored Procedures • ORMs
  • 24. Algorithms & Problem Solving • The “hard” part of the interview…. • Measuring Aptitude: • Applying what you know • Solving “new” problems. • “Hands On” vs Theory: Whiteboarding, writing code • Thought Process & Reasoning • Communication
  • 25. Problem Solving & Puzzles • How many golf balls fit in a bus? • How many times do a clock’s hands overlap? • 8 balls, same size, 7 same weight. Find heavy ball using a balance and only 2 weighings Tips: • “Right” matters less than thought process • Talk your way through the problem • Break it down. State/clarify assumptions • Draw/write it out: visualize your logic (Draw clock, hands on it, “move” the hands…)
  • 26. FizzBuzz & Data Structures • “Reverse a linked list”, “Find if linked list has cycle.” • “Find the biggest number in an array”, • “Find which characters repeat in a string” Tips: • Problems not “hard”; goal to filter weak candidates • Know your data structures and their properties • Study samples on internet – you may see exact Q • BUT “knowing the answer” isn’t the point, you need to be able to explain • Get started; how quickly you can solve matters
  • 27. ACM-Style Problems “I have an array of Apple stock prices from yesterday; with the index is the time in minutes from the open and the value is the price at that time. In one buy and one sell, find the maximum profit.” Tips: • Make sure you understand the problem; “replay” it • State assumptions, think about corner cases • TALK through a base case; get *a* working solution • Write out pseudo code/comments • What is the runtime? Understand Big O notation • Optimize: look at loops, look at data structures • Think hashtables; very useful for fast access storage • STUDY! Practice these kinds of problems
  • 28. Do you have any questions for me? • Is this the company for you? Choose between offers? • This is your best chance to really understand this company • Your interviewer is a window to the people at the company • Great questions = great way to convey your attitude Tips: -Always take advantage of this opportunity -Know what factors you’re looking for in a job/company -OK to write & bring prepared questions -Skip “administrative” questions; (ask the recruiter) -Show you’ve done your homework -Communicate excitement vs “what’s in it for me?” -Connect on a personal level
  • 29. Some suggestions… • “What was your experience like as a new joiner to Infusion? What was the biggest pleasant surprise? The biggest challenge?” • “What have your recent interns/new grads worked on...have they come back? If not, why not?” • “What advice would you give to someone starting in this role?” • “What is your favourite part of working here?” • “What would a typical day or week be like in this role?”
  • 30. Instead of…. • “What is the dress code?” • “Do you send devs to conferences?” • “Who are you customers?” • “What is the pay?” • “Did I get the job?” Try… • “Everyone seems friendly and energetic – can you tell me more about the culture?” • “How do you support continual learning for your employees, especially new grads?” • “I was really impressed with <case study>. What have been some of your favourite projects?” • “What do you see as the near term challenges and long term opportunities of this role?” • “Do you have any feedback on how today went?”
  • 31. References & Resources Algorithms & Problem Solving https://codility.com/programmers https://www.hackerrank.com https://open.kattis.com https://www.interviewcake.com http://www.codewars.com

Hinweis der Redaktion

  1. “Rock the Technical Interview” Talk by Greg Roderick @ Infusion for the University of Waterloo January 2015 (for anyone that doesn’t get it…this is ‘Levitated Mass’, a “floating” 340 ton boulder, 21.5ft tall! http://en.wikipedia.org/wiki/Levitated_Mass)
  2. My name is Greg (and that’s me at Waterloo, having just gotten my Iron Ring) and I’m the Practice Manager for Infusion’s Web Practice. I’ve been with Infusion for 10 years now – I graduated from Waterloo in 2005 from Comp Eng, and did my last co-op with Infusion in 2004 before coming back full time. Infusion was a small 50 person company when I started; I spent my first few years as a developer before moving into a Team Lead role, and have been a manager for the last 4 years. I’m one of Infusion’s senior technical Interviewers, and am particularly involved with our campus recruiting; I’ve interviewed hundreds of candidates over the years and want to share my experience to hopefully help you rock your next tech interview!
  3. Infusion is a software consulting company – companies hire us to help them solve big, hard technical problems. We work with customers from Wall Street banks, to modelling agencies; museums to professional sports leagues. We do mobile apps, retail experiences, immersive web experiences and everything in between – generally with the newest technologies and frameworks. We even have a digital agency that ensures our applications are beautiful, well designed and usable.
  4. In my 10 years at Infusion, we’ve grown from a small 50 person startup with two offices, to almost 650 employees with 10 offices around the world.
  5. We helped Natural Food Market Group redesign an engaging marche style family eatery in Toronto’s biggest mall, with everything from kids games, to custom ordering kiosks, to digital signage – and even a hologram virtual hostess! https://www.youtube.com/watch?v=K8CDSvAIKEQ
  6. We also do exciting work on the Web – we worked with Shaw on the Vikings web portal, including an interactive timeline and a Vikings warrior face-off game (http://www.history.ca/vikings/)
  7. We’re serious about Co-ops and New Grads – just some interesting facts about our campus programs and experiences
  8. This session is all about interviews and how to navigate the process. Every company has a different interview process…but most feel a bit like this – many steps, each feeding into the next, but with a chance to fail at each….and to get hired you need to make it through every step.
  9. Most companies have a process something like this….anywhere from 3 to 10 steps, from resume to in person interviews. Tech Interviews are usually 1 hour, with the first typically over the phone before being brought in person for more. This is our focus for today – the tech interview. *CLICK* It’s common to filter 50 resumes OR MORE to find the 1 ultimate fit that gets hire… ***NOTE: FOR COOPS, ITS NOT UNCOMMON FOR COMPANIES TO HAVE ONE SINGLE IN PERSON INTERVIEW ***
  10. Your first few tech interviews will feel a bit like this; an interrogation with the odds stacked against you. When you don’t know what to expect, and when you’re not prepared – in some ways, that’s what the interview becomes. This session is all about how YOU can Rock the Tech Interview…to give you a leg up, show you how YOU can succeed, get through the obstacle course, and be “chosen”. How you can be *ready* so your next interview feels like a conversation, not an interrogation. The first step is understanding how your interviewer thinks….
  11. Interviewing is HARD. Trying to get a clear picture of someone in an hour and decide if they’re the kind of person you want to hire is no easy task….ultimately it’s as much voodoo guesswork as it is science. So put yourself in MY shoes – if you only have an hour with someone, how do you spend it? What are you trying to figure out? Ultimately there’s 3 main questions I’m asking: are they smart? Will they get things done? Will they fit in my team?
  12. This chart shows the scientific conclusions from my analysis of the hundreds of interviews I’ve conducted. People fall into 3 categories: Just…plain….BAD – the kind of bad that FizzBuzz was created to filter out. Absolutely incredible…technical geniuses, with dynamic personalities, who save kittens in their free time Everyone else…good, but….not definite Yes’es. The amazing thing is that you can usually recognize within 5 minutes the BAD’s and the Incredibles… The goal of the interview is to figure out *CLICK* if you’re one of these…
  13. The first thing I’m looking for are reasons to NOT hire you…. Everything from punctuality to attire to the way you treat the people you talk to tell me something about you….make sure you don’t commit any of these yellow flags.
  14. So what *am* I looking for? At Infusion we measure 3 things in interviews: Attitude, Aptitude and Experience. What do these mean? Attitude: Initiative, desire to learn, ability to work with others, and how you handle adversity. Aptitude: How *smart* you are, ability to learn new skills, can you *apply* what you know Experience: *What* you know today; what specific skills and technologies currently in your tool belt Which of these is the most important? Obviously having all 3 is ideal – but if we have to compromise on one, which is it? Attitude and Experience, but no Aptitude: Awesome FORTRAN developer who is SUPER KEEN to learn Angular…but no matter how hard they try, they just don’t get it. This person is so nice and well intentioned, you WANT them to be successful…but ultimately they just can’t adapt. Aptitude and Experience, but no Attitude: Friggin genius – they know Angular, they COULD learn ANYTHING…but “DON’T YOU KNOW WHO I AM? How *DARE* you tell me how to design this feature.” They may be smart, but man they’re a pain to work with and ultimately bring down everyone around them Attitude and Aptitude, but no Experience? Smart, hardworking and keen…they might not know how to do it today, but show them once and point them in the right direction and they’ll figure it out, and be a joy to work with along the way. Whether you like to admit it or not, you’re grown adults now; and in a lot of ways you now are who you are going to be…there’s still parts of you and your skills that are malleable; but your attitude, and your aptitude, they’re pretty much fixed. Experience though…experience you can grow; it just requires TIME, opportunity and mentorship.
  15. How do we measure ATTITUDE? We want to see people that are comfortable in their own skin and will fit into our team. First off, be YOURSELF, don’t try to be someone that you think the interviewer is looking for – if I hire you because of an act you put on for your interview, neither of us will be happy long term….that said, some tips to help make the real YOU shine….
  16. Most one hour interviews will follow an interview roughly like this….
  17. I almost always start with a softball pitch like “Tell me about yourself?” or “How’s your school term going so far?”. I care, really, I do…but more than that I’m trying to break the ice, to help you relax and get settled, and to GET YOU TALKING. How you respond tells me a lot about you – it forms my first impressions and starts telling me about your attitude. It also starts to give me ideas on how to shape the interview, topics to cover and things to follow up on…
  18. If I’m going to let you talk for a bit, this is you chance to SELL YOURSELF! What do you want me to know…how do you want me to see you? Virtually every interview you do will include a question like this, so take the time to polish and rehearse your answer so you make the most of it! Remember – this tells me a lot about your attitude; you’d be surprised how many candidates get sidetracked ranting about how terrible their last boss was, or how bad their prof is in a class this term. Focus on the positives, what sets you apart and makes you YOU. Interesting hobbies and activities outside of school are totally fair game, especially if they are coding related.
  19. We’re going to spend 20-30 minutes covering a breadth of CS Fundamentals – some of this is definitions, but mostly validating how good of a handle you have on a range of topics. This is all about measuring EXPERIENCE, along with a dose of aptitude. Remember, experience is “if you KNOW it (because you’ve done it)” and Aptitude is“you can apply what you know to something new” We’re assess breadth and depth – finding gaps. Seeing if you get it, vs if you can memorize a bunch of definitions. Can you APPLY the concepts? We may ask “what is polymorphism” – but we’ll mostly ask “Why” and “How” questions, ask for examples or how you’ve used something…
  20. There’s a LOT of ground to cover - and its not as if you’re not already busy enough with school. Still, preparing yourself to rock your interview is worth making time for – luckily for you, you’ve hopefully got a good system and lots of practice studying for exams. I’d suggest treating studying for your tech interview in the exact same way; create (and prioritize) a list of topics, and get reading – use your textbooks, or there’s a vast number of resources online. Tips: Treat preparing for an interview a bit like studying for an exam; Create a list of topics to review Read up! Pull out your textbooks or go online For each major topic, make sure you understand it (vs memorized) and know how/why it works The internet is *full* of example topics and questions If you don’t know something be honest…then make an educated guess Once or twice in the interview, it’s ok to ask the interviewer for a hint or how something works (good attitude indicators) Jot down the items you ‘missed’…most likely you’ll be asked these again in your next interview, so go home and read up If you can, provide an example/how something would be applied Balance “keep it short, keep it simple” with “show me you understand” – include examples where it makes sense “An interface is a contract of the behaviours that must be defined by implementing classes. It only includes method prototypes (no variables), and all methods are implicitly public. I could have an IVehicle interface that would define “StartEngine” and “StopEngine” methods; Car, Truck and Boat could all implement IVehicle.
  21. Especially for new grads we’re looking for a strong understanding of the basics (vs whether you understand how to do something very specific in Angular). We’re not going to run through all of these in detail, but I wanted to share roughly the potential topic space that we cover in Infusion interviews. This should give you a framework to brush up / study against…
  22. We’ve talked about some of the things we do to measure attitude and experience; the main way we measure Aptitude is through algorithms and problem solving. Every company and every interview will be different – but expect to have to WRITE CODE, WHITEBOARD, EXPLAIN YOUR THOUGHT PROCESS. We’ll usually 15-20 minutes in this section, and ask ask ~2 questions. Questions usually fall into one of three categories: Puzzles and Brain Teasers, Data Structure / Simple Algorithm questions, and “ACM-style” algorithms…we’ll look at each.
  23. Call these puzzles, riddles or brain teasers…These are some of the most legendary questions - you’ve probably heard horror stories about people trying to work their way through questions like these. They generally have NOTHING to do with computer science or code, and are mostly about logic and problem solving. “Right” matters less than your thought process here – often times there isn’t even a right answer – so make sure you’re helping the interviewer SEE your thought process. Listen carefully to the question to make sure you understand the question, then talk your way through the problem – what are you thinking? Break it down and state assumptions, and don’t be afraid to draw/write out you logic; “Ok, let’s assume a bus is what, 50 feet long, 8 feet tall and 10 feet wide? Let’s start by assuming it’s a regular rectangle, and ignore the stairwell, the curvature at the top, and the space occupied by the seats, so the volume would be length x width x height. Now let’s think about golf balls, and how many golf balls we can fit in a cubic foot, then multiply that by the volume….”
  24. If you don’t know the term “FizzBuzz”, it’s a trivial coding task based on a children’s game (http://en.wikipedia.org/wiki/Fizz_buzz). Whether it’s a FizzBuzz question of something similar, these questions are not meant to be rocket science, but rather to show you can APPLY concepts. I’ve framed “problem solving” questions as what interviewers ask at the *end* of the interview, but sometimes this specific kind of question gets asked right near the front…it’s a way to very quickly get you writing code and to sanity check what level of candidate you are or to filter out weak candidates. Your goal is to make sure you don’t get filtered! Brushing up on these kinds of questions can help make sure you are fresh, can answer quickly and with confidence; the goal is NOT to memorize a bunch of answers but rather to have ‘seen’ the kind of question and have an idea on a response….you’d be surprised for example when asked how to check if a linked list has a cycle, how many candidates say “you use two pointers” but have NO idea how it would actually work.
  25. This kind of question is especially common for in person interviews, as it can be hard to explain complex questions/answers over the phone…. What I’m really looking for is your thought process, your ability to “get” the question, and start mapping it into an algorithm/technical approach. If you need a minute to think things through, take it…but similar with the other types of questions, I want to see you start talking your way through things – so I can see your thought process. What I care about first is that you get *a* working answer – so don’t fixate on trying to get the PERFECT answer first. Once you’ve got an idea on approach, sketch it out and validate if it will work; then write out proper code. How GOOD your solution is is the next question – runtime and resource utilization are the biggest factors.
  26. There are 2 goals in an interview – for the interviewer to assess if you are a fit for the company; just as importantly, for you to assess if the company is a fit for YOU. Most interviewers will save ~10 minutes for you to ask THEM questions…this is your chance to turn the tables, and to really find out what this company is like. If you’re really good, you’ll have multiple potential offers from different companies – how do you choose between them? Start by thinking about what’s really important to you in a job? Are you really excited about a certain kind of project/technology, or more excited by who you’ll be working with? What kind of work environment do you do best in – what factors influence that? Are you super excited about travel? Do you like/need to be given clear direction, or do you want to freedom to drive your own decisions? The kinds of questions you ask will also tell the interviewer more about the kind of person you are and your attitude/fit. Always…ALWAYS take advantage of the chance to ask questions – you’d be surprised by how many candidates don’t…it tells me a lot about their attitude and how invested they really are in this role/Infusion. Be smart about the time you have with your interviewer – save administrative questions to ask the recruiter…use this as a chance to connect personally with the interviewer and get a real, honest read on the things that matter to you…
  27. A few suggested questions – have 5 or so prepared questions, even though you may only ask 3; the interviewer will likely have already answered some of your prepared questions along the way. Follow up, engage…make it a conversation.
  28. A few “ok” standard questions, and better alternatives. The alternatives engage the interviewer, drive better conversation, and better reflect your maturity and investment in the company.
  29. Check out these online resources for practice algorithm and problem solving questions