SlideShare a Scribd company logo
In most cases Technical interviews
do NOT represent WHAT or HOW
you will work
on a day to day basis
technical interviewing is a unique skill/experience
Technical Interviews are not the norm
Surviving a
Technical Interview
Eric Brooke Dec 2015
v6
Three interviews when I froze, I knew the answer but not in the environment they created:

1. White boarding the Fibonacci

2. Fizz buzz - in front of 7 people (two on skype)

3. How does a server cope with high demand
Junior Rails Interviews
• 14 interviews asked me to code in the following
• 3 JavaScript
• 3 Ruby
• 2 PHP
• 4 Rails
• 3 Algorithms in what ever language
When I applied to 14 roles as a junior rails dev, for junior rails positions these are languages I was ask code in or do in the case of Algorithms.

Do not rely that they know or will test you in your preferred language/framework
– Thomas Ptacek
http://sockpuppet.org/blog/2015/03/06/the-hiring-post/
“The majority of people who can code can’t do
it well in an interview. ”
–Every Action movie ever
“Remember your Training”
So we have to prepare you and get you some experience

Military train you under stress, so when it is stressful you can still remember your training
What to Expect
Format
• You and the founder in a room with your laptop
• You in a room and whiteboard with 1-6 people
• You in a room with their computer and whiteboard
an 1-3 people
• You on computer, coding in a online environment
• Code Competition
I think the format and the environment will help certain types of developers be successful but not all. If coding is about problem solving, surely you need different types
of people to come up with the a wider range of solutions. As the Bay of Pigs showed us being Smart is not enough. Is your environment about collaboration or
competition? Is it about having all the answers or being able to ask others.. Like most things human we are looking for a balance
Software Engineer
• Coding- fizzbuz, navigate a tree
• O Notation - what performs best and when to use
• SQL Queries - joins
• Algorithms - bubble sort
• Data Structures - linked lists, hashes, tree
Contents for a software engineer, here are some of the most common. Theses are the questions most de attached from the real work that you will do on a day to day
basis. They are perfects for a recent graduate, but not a bootcamper
Web Developer
What
happens
when you
click this
button?
a tag
javascript
event
resolve url
IP
server setup
routes
controllerHTTP model
viewprocesses
What happens when you click this button?

How does the server know what user is which?
Web Developer
• Security - Injection, XSS, CSRF
• HTTP - Codes, Headers and Transactions
• Performance - Frontend, Database requests
• Framework - Maybe
• Gems/Libraries - Which your favourite are and why
• Mobile - Responsive, scaling
On top you will be asked this question if the role is really a web dev job
Experience
1.Dev Environment build & Tools
2.Testing
3.Problem solving
4.Architecture
5.Code comprehension
6.Deployment
7.Continuous Deployment
8.Pairing
9.Process i.e. Agile or Waterfall
10.Scaling problems & Distributed systems
Conversation will often explore these topics depending on the level of the role you are applying for
Research
Understanding your
competence
1. What are your strengths and weaknesses (rate
your self 1-5 for each skill/language/concept)
2. What do you enjoy and not
3. How do you provide evidence of your strengths
4. Traditional App building - http://sijinjoseph.com/
programmer-competency-matrix/
The above programmer competency matrix is ok for the traditional C/Java engineer but fails for the full stack developer
Full Stack Developer
1. Internet protocol
2. HTTP
3. MVC
4. Dev Ops
5. Browser Compatibility
6. Differences between Devices i.e Mobile/desktop
7. A/B Testing
8. UX/UI
9. Performance over 3G/4G/Wifi etc
10.Scaleability & Distributed Systems
11.Locations, Languages and Timezones
So what should a full stack dev rate themselves on?
Cards Against Humanity - Researching the potential questions, will give you a leg up in the interview
Potential questions
1. Google
2. glassdoor.com
3. Quora
4. A great reference from Julia Evans
Write a list of potential questions by looking at the job description and finding the common questions for each skill/language
The interviewers
1. Linkedin
2. Blog
3. Github
4. Twitter
Ask HR who will interview, get their full name and do some research on imagine the kind of questions they will ask you. Build up an archetype of each interviewer.
What kind of future do you want?
Know why you want this job
1. The Technology
2. The Product
3. The People
4. The Vision
5. The Culture
6. The Money
7. The Place
If you do not love the technology or even like it consider another job. I would suggest you need 4 to consider a job and 5+ to really stay for a long period of time
Surviving
White Board code is very different to working on an IDE that finishes everything you are typing
Mock Interview
1. Ask a friend to come up with some questions and
ask you them
2. Get them to evaluate your strengths and
weaknesses
3. Practice white boarding with a friend
Practice with a friend, consider all the questions, identify the weak spots and revise them
Take Home
1. Really understand the problems
2. Complete and consider other ways, what are other
perspectives
3. Consider this an education opportunity
Love Take homes
Break down potential questions and understand the potential follow ons
Pre-Interview
1. The week before - Code - exercise.io or Ruby
Koan
2. Write out SQL queries and rehearse joins
3. Sleep well the night before
4. Prepare your laptop, what on your desktop?
You are prepared when you can explain thesis topics to someone who is not a computer scientist
Sometimes just ask for moment, find that place of peace and break down the problem and code.. Maybe just start with comments and build up to code..
Stress
1. Take a moment, find your happy place
2. Break down the problems to the smallest element
3. Be honest when you do not know and then figure it
out
4. Be verbose
5. Bring water and snacks, avoid food that make
sleepy
pairing socks
Techniques for technical
questions
1. Develop a plan before you code
2. Understand the ambiguities and ask questions
3. Start with the simplest approach
4. Iterate and improve 
5. Keep talking to let the interviewer know what you're thinking
6. Always listen to an interviewer’s hints
7. If you cannot remember the syntax ask the interviewer or just search the
web
8. If you get stuck, tell the interviewer you are stuck and explain why.
One interview wanted me to build a AWS setup
Coding
1. Add comments of what you will do in english
2. Make it work
3. Make it readable
4. Make it perform
Some interviewers are looking for the one line example, some are looking for code they enjoy ask them
Step out of trees for a moment, lets look at the forest
Big Picture
This is a two way process:
How they interview you,
helps you choose OR not choose them
How good is the interviewer when you get wrong, are they impatient, or are they a good coach, getting back on track. You can tell a lot about culture by their forgiveness
and ability to help you step up
Interviews Strategy
1. For the companies you want the most to work with,
interview with them later
2. Interviewing is a skill and experience matters
3. Reflect after every interview.  Find the answer to the
problems you did not know
4. Allocate learning time every week
5. Refresh basics every year i.e. core programming
langauge
Growing
You may need to do this after, the longest set of interviews I have had very 8 in a row for 8 hours..
After the Interview
1. Write all the questions down
2. Show colleagues/friends the questions ask them
how they would do it
3. Then show your answers and ask for their critic
4. Find answers to the questions you did not know
One interview asked me to use Cross-Site Scripting on their site, I had no idea, after I learnt a lot

OWASP
Conferences and online free videos of the conferences are way to greatly increase your experience, learn from others mistakes if you can - this Smashing Mag cons
Improve your..
1. Algorithms - https://www.manning.com/books/grokking-
algorithms
2. Math - https://www.khanacademy.org
3. Ruby - RubyTapas, The Ruby Way, The Well Grounded
Rubyist, Ruby Koans, Ruby Kata
4. Rails - The Rails 4 Way, Rails Anti Patterns
5. Scaling/Security - OWASP, The Tangled Web, The Practice of
Network Security Monitoring
6. Experience Conference talks i.e. Railsconf or Smashing Mag
Improve your..
7. JavaScript
1.  http://survivejs.com (free online version)
2.  http://es6katas.org
3. http://eloquentjavascript.net (free online version)
4. https://developer.mozilla.org/en-US/docs/Web/
JavaScript (best docs)
5. https://github.com/arkency/reactjs_koans
Pair Program
1. Good companies use it as both an interview
technique and for your actual job
2. Nice Pair - Pair Programming Archetypes
Become good at this, change partners every 4 hours or every feature, it is emotional exhausting at first, but you get used to it
Summary
Build your tech int. exp
• Practice core skills i.e. Programming Language
• Gain Interview Experience
• Review after every Interview
Program well in one language

Mock Interview until you have no fear

White Board until you can do it without referring

Learn from every interview
Extra
How I interview
First Interview
• Have coffee find out what I feel about this person
• Why they are passionate about coding
Second Interview
• Ask some basic technical questions
• Have them bring their project, explain it to me.  
• Ask them to add i.e. code a feature with a colleague pairing
• Meet the team
Two weeks in San Francisco. I have received a lot of job offers from people I met at tech conferences
Get an Interview
1. Make Connections - meet ups, conferences
2. Find the companies you want to work for e.g. Companies using Ruby
3. Help build the community - e.g. Vancouver Ruby Meetup
4. Startups and Startup Weekends - find people you want to work with
5. Coach/Teach/Mentor - we all know something more than someone else,
also you get better at communicating
6. Present/Blog - a journey of yours and help others learn
7. Projects - Your personal passion projects, maybe open source
8. Online social proof - Linkedin, Twitter, Blog
Professional Career - http://www.linkedin.com/in/ericbrooke

Articles I have read and events I attend - http://twitter.com/ericbrooke

A blog of unfinished thoughts - http://ericbrooke.wordpress.com/

What do I read? - http://www.goodreads.com/ericbrooke

Coding https://github.com/ericbrooke/
Hacking Health - Yukon
Other Perspectives
http://what-advice-would-you-give-someone-preparing-for-their-
first-technical-interview/3388/3
https://www.quora.com/How-do-I-prepare-for-a-software-
engineering-job-interview
http://techcrunch.com/2015/03/21/the-terrible-technical-interview/
http://techcrunch.com/2015/03/15/gray-beards/
http://sockpuppet.org/blog/2015/03/06/the-hiring-post/
http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-
most-successful-technical-interviews-with-a-single-question/
what-advice-would-you-give-someone-preparing-for-their-first-technical-interview/3388/3

https://www.quora.com/How-do-I-prepare-for-a-software-engineering-job-interview

http://techcrunch.com/2015/03/21/the-terrible-technical-interview/

http://techcrunch.com/2015/03/15/gray-beards/

http://sockpuppet.org/blog/2015/03/06/the-hiring-post/

http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-most-successful-technical-interviews-with-a-single-question/
Play often with code, find the project you actually care about, something to improve your life
My Interviews
1. Take home questions (Recursive, SQL, front end coding, code to recognize a shape, DSL)
2. Do Fibonacci on white board, basic tree construction, traversal, talk through what happens when you click a button in a
browser 
3. Discrete Math 101, graph traversal algorithms: breadth-first search and depth-first search, Hash Tables
4. Algorithms, Scaling, DevOps
5. Debug their production code
6. Object Oriented design, polymorphism, Functional programming, recursion
7. 100 questions on Ruby and Rails
8. 100 questions on Ruby and Rails, write some JavaScript a counter
9. 50 questions on Ruby and Rails then Fizzbuzz
10.Piglatin, problem solving, project management, architecture, distributed networks
11.Informal with devs, code bowling rules, problem solving, Architecture, code comprehension with complex legacy code
12.Take home 1(algorithm, web security, code comprehension, SQL, find the bug ), Take home 2 (add features to an existing rail
codebase)
13.Add a feature to your own rails code
14.Describe web process, 20 questions on web security, code a bubble sort, write an Sql query
Learning about others through your play
• Blog ericbrooke.wordpress.com
• Twitter @ericbrooke
• Git Hub: ericbrooke
• Goodreads: http://www.goodreads.com/ericbrooke
• Linkedin http://www.linkedin.com/in/ericbrooke
Professional Career - http://www.linkedin.com/in/ericbrooke

Articles I have read and events I attend - http://twitter.com/ericbrooke

A blog of unfinished thoughts - http://ericbrooke.wordpress.com/

What do I read? - 

Coding https://github.com/ericbrooke/

More Related Content

What's hot

Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic RevisitedAdam Keys
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014michaelag1971
 
C# and java comparing programming languages
C# and java  comparing programming languagesC# and java  comparing programming languages
C# and java comparing programming languages
Shishir Roy
 
Cracking the coding interview u penn - sept 30 2010
Cracking the coding interview   u penn - sept 30 2010Cracking the coding interview   u penn - sept 30 2010
Cracking the coding interview u penn - sept 30 2010careercup
 
FMP Evaluation
FMP EvaluationFMP Evaluation
FMP Evaluation
DaisyPotter
 
How to get a Job as a Front End Developer
How to get a Job as a Front End DeveloperHow to get a Job as a Front End Developer
How to get a Job as a Front End Developer
Mike Wilcox
 
Opw2010 Gsoc
Opw2010 GsocOpw2010 Gsoc
Opw2010 Gsoc
dhoss
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
Laurent Cerveau
 
A Rapid e-Learning Primer for Technical Communicators
A Rapid e-Learning Primer for Technical CommunicatorsA Rapid e-Learning Primer for Technical Communicators
A Rapid e-Learning Primer for Technical Communicators
STC-Philadelphia Metro Chapter
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
Eyob Lube
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
Laurent Cerveau
 

What's hot (12)

Culture And Aesthetic Revisited
Culture And Aesthetic RevisitedCulture And Aesthetic Revisited
Culture And Aesthetic Revisited
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
C# and java comparing programming languages
C# and java  comparing programming languagesC# and java  comparing programming languages
C# and java comparing programming languages
 
Going Pro
Going ProGoing Pro
Going Pro
 
Cracking the coding interview u penn - sept 30 2010
Cracking the coding interview   u penn - sept 30 2010Cracking the coding interview   u penn - sept 30 2010
Cracking the coding interview u penn - sept 30 2010
 
FMP Evaluation
FMP EvaluationFMP Evaluation
FMP Evaluation
 
How to get a Job as a Front End Developer
How to get a Job as a Front End DeveloperHow to get a Job as a Front End Developer
How to get a Job as a Front End Developer
 
Opw2010 Gsoc
Opw2010 GsocOpw2010 Gsoc
Opw2010 Gsoc
 
Dancing for a product release
Dancing for a product releaseDancing for a product release
Dancing for a product release
 
A Rapid e-Learning Primer for Technical Communicators
A Rapid e-Learning Primer for Technical CommunicatorsA Rapid e-Learning Primer for Technical Communicators
A Rapid e-Learning Primer for Technical Communicators
 
How to become a software developer
How to become a software developerHow to become a software developer
How to become a software developer
 
Binary crosswords
Binary crosswordsBinary crosswords
Binary crosswords
 

Similar to Surviving the technical interview

The rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in TurinThe rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in Turin
Alessandro Nadalin
 
Never show a design you haven't tested
Never show a design you haven't testedNever show a design you haven't tested
Never show a design you haven't tested
Ida Aalen
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOps
Puppet
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
Bert Jan Schrijver
 
Untangling spring week8
Untangling spring week8Untangling spring week8
Untangling spring week8
Derek Jacoby
 
Turning Passion Into Words
Turning Passion Into WordsTurning Passion Into Words
Turning Passion Into WordsBrian Hogan
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
Vaco Seattle
 
How to get started in a new codebase
How to get started in a new codebaseHow to get started in a new codebase
How to get started in a new codebase
Rachel Sanders
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developers
Dimitris Andreadis
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
Ike Ellis
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
Dave Hora
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
LearnItFirst.com
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
Vishnu Prem
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
Lalit Kale
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
Steven Smith
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdodaniil3
 
UX Research - Discussion Guide basics
UX Research - Discussion Guide basicsUX Research - Discussion Guide basics
UX Research - Discussion Guide basics
Chris Spalton
 
Introduction to Online Learning
Introduction to Online LearningIntroduction to Online Learning
Introduction to Online Learning
Genco University
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
Steven Smith
 

Similar to Surviving the technical interview (20)

The rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in TurinThe rocket internet experience @ PHP.TO.START 2013 in Turin
The rocket internet experience @ PHP.TO.START 2013 in Turin
 
Never show a design you haven't tested
Never show a design you haven't testedNever show a design you haven't tested
Never show a design you haven't tested
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOps
 
NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1NLJUG speaker academy 2023 - session 1
NLJUG speaker academy 2023 - session 1
 
Untangling spring week8
Untangling spring week8Untangling spring week8
Untangling spring week8
 
Turning Passion Into Words
Turning Passion Into WordsTurning Passion Into Words
Turning Passion Into Words
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
How to get started in a new codebase
How to get started in a new codebaseHow to get started in a new codebase
How to get started in a new codebase
 
7 secrets of successful opensource developers
7 secrets of successful opensource developers7 secrets of successful opensource developers
7 secrets of successful opensource developers
 
14 Habits of Great SQL Developers
14 Habits of Great SQL Developers14 Habits of Great SQL Developers
14 Habits of Great SQL Developers
 
Learn Learning + Prototype Testing
Learn Learning + Prototype TestingLearn Learning + Prototype Testing
Learn Learning + Prototype Testing
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
 
How To Become A Good C# Programmer
How To Become A Good C# ProgrammerHow To Become A Good C# Programmer
How To Become A Good C# Programmer
 
NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016NUS Hackers Project Intern 2016
NUS Hackers Project Intern 2016
 
Code review guidelines
Code review guidelinesCode review guidelines
Code review guidelines
 
Introducing Pair Programming
Introducing Pair ProgrammingIntroducing Pair Programming
Introducing Pair Programming
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
UX Research - Discussion Guide basics
UX Research - Discussion Guide basicsUX Research - Discussion Guide basics
UX Research - Discussion Guide basics
 
Introduction to Online Learning
Introduction to Online LearningIntroduction to Online Learning
Introduction to Online Learning
 
Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 

More from Eric Brooke

First Job in USA
First Job in USAFirst Job in USA
First Job in USA
Eric Brooke
 
A great place to work
A great place to workA great place to work
A great place to work
Eric Brooke
 
Indecision legacy
Indecision legacyIndecision legacy
Indecision legacy
Eric Brooke
 
Thank you
Thank youThank you
Thank you
Eric Brooke
 
Many careers
Many careersMany careers
Many careers
Eric Brooke
 
Feedback
FeedbackFeedback
Feedback
Eric Brooke
 
Organisation 3.0 beta - Viewing humans as humans not resources
Organisation 3.0 beta - Viewing humans as humans not resourcesOrganisation 3.0 beta - Viewing humans as humans not resources
Organisation 3.0 beta - Viewing humans as humans not resources
Eric Brooke
 
Green Housing
Green HousingGreen Housing
Green Housing
Eric Brooke
 
Chicken checkin
Chicken checkinChicken checkin
Chicken checkin
Eric Brooke
 

More from Eric Brooke (11)

First Job in USA
First Job in USAFirst Job in USA
First Job in USA
 
A great place to work
A great place to workA great place to work
A great place to work
 
Indecision legacy
Indecision legacyIndecision legacy
Indecision legacy
 
Thank you
Thank youThank you
Thank you
 
Many careers
Many careersMany careers
Many careers
 
Feedback
FeedbackFeedback
Feedback
 
DA ref complete
DA ref completeDA ref complete
DA ref complete
 
Healthgeo pitch
Healthgeo pitchHealthgeo pitch
Healthgeo pitch
 
Organisation 3.0 beta - Viewing humans as humans not resources
Organisation 3.0 beta - Viewing humans as humans not resourcesOrganisation 3.0 beta - Viewing humans as humans not resources
Organisation 3.0 beta - Viewing humans as humans not resources
 
Green Housing
Green HousingGreen Housing
Green Housing
 
Chicken checkin
Chicken checkinChicken checkin
Chicken checkin
 

Recently uploaded

一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
一比一原版(UVic毕业证)维多利亚大学毕业证如何办理一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
pxyhy
 
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
atwvhyhm
 
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
foismail170
 
Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!
LukeRoyak
 
How to create an effective K-POC tutorial
How to create an effective K-POC tutorialHow to create an effective K-POC tutorial
How to create an effective K-POC tutorial
vencislavkaaa
 
Personal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignmentPersonal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignment
ragingokie
 
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
larisashrestha558
 
134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science
Manu Mitra
 
How Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
How Mentoring Elevates Your PM Career | PMI Silver Spring ChapterHow Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
How Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
Hector Del Castillo, CPM, CPMM
 
Midterm Contract Law and Adminstration.pptx
Midterm Contract Law and Adminstration.pptxMidterm Contract Law and Adminstration.pptx
Midterm Contract Law and Adminstration.pptx
Sheldon Byron
 
New Explore Careers and College Majors 2024.pdf
New Explore Careers and College Majors 2024.pdfNew Explore Careers and College Majors 2024.pdf
New Explore Careers and College Majors 2024.pdf
Dr. Mary Askew
 
Full Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptxFull Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptx
mmorales2173
 
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdfRECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
AlessandroMartins454470
 
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdfDOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
Pushpendra Kumar
 
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Dirk Spencer Corporate Recruiter LION
 
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
foismail170
 
Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.
alexthomas971
 
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR GeneralistHeidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
HeidiLivengood
 
han han widi kembar tapi beda han han dan widi kembar tapi sama
han han widi kembar tapi beda han han dan widi kembar tapi samahan han widi kembar tapi beda han han dan widi kembar tapi sama
han han widi kembar tapi beda han han dan widi kembar tapi sama
IrlanMalik
 
How to Master LinkedIn for Career and Business
How to Master LinkedIn for Career and BusinessHow to Master LinkedIn for Career and Business
How to Master LinkedIn for Career and Business
ideatoipo
 

Recently uploaded (20)

一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
一比一原版(UVic毕业证)维多利亚大学毕业证如何办理一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
一比一原版(UVic毕业证)维多利亚大学毕业证如何办理
 
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
原版制作(RMIT毕业证书)墨尔本皇家理工大学毕业证在读证明一模一样
 
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
欧洲杯买球平台-欧洲杯买球平台推荐-欧洲杯买球平台| 立即访问【ac123.net】
 
Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!Luke Royak's Personal Brand Exploration!
Luke Royak's Personal Brand Exploration!
 
How to create an effective K-POC tutorial
How to create an effective K-POC tutorialHow to create an effective K-POC tutorial
How to create an effective K-POC tutorial
 
Personal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignmentPersonal Brand exploration KE.pdf for assignment
Personal Brand exploration KE.pdf for assignment
 
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
皇冠体育- 皇冠体育官方网站- CROWN SPORTS| 立即访问【ac123.net】
 
134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science134. Reviewer Certificate in Computer Science
134. Reviewer Certificate in Computer Science
 
How Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
How Mentoring Elevates Your PM Career | PMI Silver Spring ChapterHow Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
How Mentoring Elevates Your PM Career | PMI Silver Spring Chapter
 
Midterm Contract Law and Adminstration.pptx
Midterm Contract Law and Adminstration.pptxMidterm Contract Law and Adminstration.pptx
Midterm Contract Law and Adminstration.pptx
 
New Explore Careers and College Majors 2024.pdf
New Explore Careers and College Majors 2024.pdfNew Explore Careers and College Majors 2024.pdf
New Explore Careers and College Majors 2024.pdf
 
Full Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptxFull Sail_Morales_Michael_SMM_2024-05.pptx
Full Sail_Morales_Michael_SMM_2024-05.pptx
 
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdfRECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
RECOGNITION AWARD 13 - TO ALESSANDRO MARTINS.pdf
 
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdfDOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
DOC-20240602-WA0001..pdf DOC-20240602-WA0001..pdf
 
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
Transferable Skills - Your Roadmap - Part 1 and 2 - Dirk Spencer Senior Recru...
 
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
欧洲杯投注网站-欧洲杯投注网站推荐-欧洲杯投注网站| 立即访问【ac123.net】
 
Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.Personal Brand Exploration Comedy Jxnelle.
Personal Brand Exploration Comedy Jxnelle.
 
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR GeneralistHeidi Livengood Resume Senior Technical Recruiter / HR Generalist
Heidi Livengood Resume Senior Technical Recruiter / HR Generalist
 
han han widi kembar tapi beda han han dan widi kembar tapi sama
han han widi kembar tapi beda han han dan widi kembar tapi samahan han widi kembar tapi beda han han dan widi kembar tapi sama
han han widi kembar tapi beda han han dan widi kembar tapi sama
 
How to Master LinkedIn for Career and Business
How to Master LinkedIn for Career and BusinessHow to Master LinkedIn for Career and Business
How to Master LinkedIn for Career and Business
 

Surviving the technical interview

  • 1. In most cases Technical interviews do NOT represent WHAT or HOW you will work on a day to day basis technical interviewing is a unique skill/experience
  • 4. Three interviews when I froze, I knew the answer but not in the environment they created: 1. White boarding the Fibonacci 2. Fizz buzz - in front of 7 people (two on skype) 3. How does a server cope with high demand
  • 5. Junior Rails Interviews • 14 interviews asked me to code in the following • 3 JavaScript • 3 Ruby • 2 PHP • 4 Rails • 3 Algorithms in what ever language When I applied to 14 roles as a junior rails dev, for junior rails positions these are languages I was ask code in or do in the case of Algorithms. Do not rely that they know or will test you in your preferred language/framework
  • 6. – Thomas Ptacek http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ “The majority of people who can code can’t do it well in an interview. ”
  • 7.
  • 8. –Every Action movie ever “Remember your Training” So we have to prepare you and get you some experience Military train you under stress, so when it is stressful you can still remember your training
  • 10. Format • You and the founder in a room with your laptop • You in a room and whiteboard with 1-6 people • You in a room with their computer and whiteboard an 1-3 people • You on computer, coding in a online environment • Code Competition I think the format and the environment will help certain types of developers be successful but not all. If coding is about problem solving, surely you need different types of people to come up with the a wider range of solutions. As the Bay of Pigs showed us being Smart is not enough. Is your environment about collaboration or competition? Is it about having all the answers or being able to ask others.. Like most things human we are looking for a balance
  • 11. Software Engineer • Coding- fizzbuz, navigate a tree • O Notation - what performs best and when to use • SQL Queries - joins • Algorithms - bubble sort • Data Structures - linked lists, hashes, tree Contents for a software engineer, here are some of the most common. Theses are the questions most de attached from the real work that you will do on a day to day basis. They are perfects for a recent graduate, but not a bootcamper
  • 12. Web Developer What happens when you click this button? a tag javascript event resolve url IP server setup routes controllerHTTP model viewprocesses What happens when you click this button? How does the server know what user is which?
  • 13. Web Developer • Security - Injection, XSS, CSRF • HTTP - Codes, Headers and Transactions • Performance - Frontend, Database requests • Framework - Maybe • Gems/Libraries - Which your favourite are and why • Mobile - Responsive, scaling On top you will be asked this question if the role is really a web dev job
  • 14. Experience 1.Dev Environment build & Tools 2.Testing 3.Problem solving 4.Architecture 5.Code comprehension 6.Deployment 7.Continuous Deployment 8.Pairing 9.Process i.e. Agile or Waterfall 10.Scaling problems & Distributed systems Conversation will often explore these topics depending on the level of the role you are applying for
  • 16. Understanding your competence 1. What are your strengths and weaknesses (rate your self 1-5 for each skill/language/concept) 2. What do you enjoy and not 3. How do you provide evidence of your strengths 4. Traditional App building - http://sijinjoseph.com/ programmer-competency-matrix/ The above programmer competency matrix is ok for the traditional C/Java engineer but fails for the full stack developer
  • 17. Full Stack Developer 1. Internet protocol 2. HTTP 3. MVC 4. Dev Ops 5. Browser Compatibility 6. Differences between Devices i.e Mobile/desktop 7. A/B Testing 8. UX/UI 9. Performance over 3G/4G/Wifi etc 10.Scaleability & Distributed Systems 11.Locations, Languages and Timezones So what should a full stack dev rate themselves on?
  • 18. Cards Against Humanity - Researching the potential questions, will give you a leg up in the interview
  • 19. Potential questions 1. Google 2. glassdoor.com 3. Quora 4. A great reference from Julia Evans Write a list of potential questions by looking at the job description and finding the common questions for each skill/language
  • 20. The interviewers 1. Linkedin 2. Blog 3. Github 4. Twitter Ask HR who will interview, get their full name and do some research on imagine the kind of questions they will ask you. Build up an archetype of each interviewer.
  • 21. What kind of future do you want?
  • 22. Know why you want this job 1. The Technology 2. The Product 3. The People 4. The Vision 5. The Culture 6. The Money 7. The Place If you do not love the technology or even like it consider another job. I would suggest you need 4 to consider a job and 5+ to really stay for a long period of time
  • 24. White Board code is very different to working on an IDE that finishes everything you are typing
  • 25. Mock Interview 1. Ask a friend to come up with some questions and ask you them 2. Get them to evaluate your strengths and weaknesses 3. Practice white boarding with a friend
  • 26. Practice with a friend, consider all the questions, identify the weak spots and revise them
  • 27. Take Home 1. Really understand the problems 2. Complete and consider other ways, what are other perspectives 3. Consider this an education opportunity Love Take homes
  • 28. Break down potential questions and understand the potential follow ons
  • 29. Pre-Interview 1. The week before - Code - exercise.io or Ruby Koan 2. Write out SQL queries and rehearse joins 3. Sleep well the night before 4. Prepare your laptop, what on your desktop? You are prepared when you can explain thesis topics to someone who is not a computer scientist
  • 30. Sometimes just ask for moment, find that place of peace and break down the problem and code.. Maybe just start with comments and build up to code..
  • 31. Stress 1. Take a moment, find your happy place 2. Break down the problems to the smallest element 3. Be honest when you do not know and then figure it out 4. Be verbose 5. Bring water and snacks, avoid food that make sleepy
  • 33. Techniques for technical questions 1. Develop a plan before you code 2. Understand the ambiguities and ask questions 3. Start with the simplest approach 4. Iterate and improve  5. Keep talking to let the interviewer know what you're thinking 6. Always listen to an interviewer’s hints 7. If you cannot remember the syntax ask the interviewer or just search the web 8. If you get stuck, tell the interviewer you are stuck and explain why.
  • 34. One interview wanted me to build a AWS setup
  • 35. Coding 1. Add comments of what you will do in english 2. Make it work 3. Make it readable 4. Make it perform Some interviewers are looking for the one line example, some are looking for code they enjoy ask them
  • 36. Step out of trees for a moment, lets look at the forest
  • 38. This is a two way process: How they interview you, helps you choose OR not choose them How good is the interviewer when you get wrong, are they impatient, or are they a good coach, getting back on track. You can tell a lot about culture by their forgiveness and ability to help you step up
  • 39. Interviews Strategy 1. For the companies you want the most to work with, interview with them later 2. Interviewing is a skill and experience matters 3. Reflect after every interview.  Find the answer to the problems you did not know 4. Allocate learning time every week 5. Refresh basics every year i.e. core programming langauge
  • 41. You may need to do this after, the longest set of interviews I have had very 8 in a row for 8 hours..
  • 42. After the Interview 1. Write all the questions down 2. Show colleagues/friends the questions ask them how they would do it 3. Then show your answers and ask for their critic 4. Find answers to the questions you did not know
  • 43. One interview asked me to use Cross-Site Scripting on their site, I had no idea, after I learnt a lot OWASP
  • 44. Conferences and online free videos of the conferences are way to greatly increase your experience, learn from others mistakes if you can - this Smashing Mag cons
  • 45. Improve your.. 1. Algorithms - https://www.manning.com/books/grokking- algorithms 2. Math - https://www.khanacademy.org 3. Ruby - RubyTapas, The Ruby Way, The Well Grounded Rubyist, Ruby Koans, Ruby Kata 4. Rails - The Rails 4 Way, Rails Anti Patterns 5. Scaling/Security - OWASP, The Tangled Web, The Practice of Network Security Monitoring 6. Experience Conference talks i.e. Railsconf or Smashing Mag
  • 46. Improve your.. 7. JavaScript 1.  http://survivejs.com (free online version) 2.  http://es6katas.org 3. http://eloquentjavascript.net (free online version) 4. https://developer.mozilla.org/en-US/docs/Web/ JavaScript (best docs) 5. https://github.com/arkency/reactjs_koans
  • 47. Pair Program 1. Good companies use it as both an interview technique and for your actual job 2. Nice Pair - Pair Programming Archetypes Become good at this, change partners every 4 hours or every feature, it is emotional exhausting at first, but you get used to it
  • 49. Build your tech int. exp • Practice core skills i.e. Programming Language • Gain Interview Experience • Review after every Interview Program well in one language Mock Interview until you have no fear White Board until you can do it without referring Learn from every interview
  • 50. Extra
  • 51. How I interview First Interview • Have coffee find out what I feel about this person • Why they are passionate about coding Second Interview • Ask some basic technical questions • Have them bring their project, explain it to me.   • Ask them to add i.e. code a feature with a colleague pairing • Meet the team
  • 52. Two weeks in San Francisco. I have received a lot of job offers from people I met at tech conferences
  • 53. Get an Interview 1. Make Connections - meet ups, conferences 2. Find the companies you want to work for e.g. Companies using Ruby 3. Help build the community - e.g. Vancouver Ruby Meetup 4. Startups and Startup Weekends - find people you want to work with 5. Coach/Teach/Mentor - we all know something more than someone else, also you get better at communicating 6. Present/Blog - a journey of yours and help others learn 7. Projects - Your personal passion projects, maybe open source 8. Online social proof - Linkedin, Twitter, Blog
  • 54. Professional Career - http://www.linkedin.com/in/ericbrooke Articles I have read and events I attend - http://twitter.com/ericbrooke A blog of unfinished thoughts - http://ericbrooke.wordpress.com/ What do I read? - http://www.goodreads.com/ericbrooke Coding https://github.com/ericbrooke/
  • 56. Other Perspectives http://what-advice-would-you-give-someone-preparing-for-their- first-technical-interview/3388/3 https://www.quora.com/How-do-I-prepare-for-a-software- engineering-job-interview http://techcrunch.com/2015/03/21/the-terrible-technical-interview/ http://techcrunch.com/2015/03/15/gray-beards/ http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the- most-successful-technical-interviews-with-a-single-question/ what-advice-would-you-give-someone-preparing-for-their-first-technical-interview/3388/3 https://www.quora.com/How-do-I-prepare-for-a-software-engineering-job-interview http://techcrunch.com/2015/03/21/the-terrible-technical-interview/ http://techcrunch.com/2015/03/15/gray-beards/ http://sockpuppet.org/blog/2015/03/06/the-hiring-post/ http://www.nicolasbize.com/blog/how-i-ended-up-conducting-the-most-successful-technical-interviews-with-a-single-question/
  • 57. Play often with code, find the project you actually care about, something to improve your life
  • 58. My Interviews 1. Take home questions (Recursive, SQL, front end coding, code to recognize a shape, DSL) 2. Do Fibonacci on white board, basic tree construction, traversal, talk through what happens when you click a button in a browser  3. Discrete Math 101, graph traversal algorithms: breadth-first search and depth-first search, Hash Tables 4. Algorithms, Scaling, DevOps 5. Debug their production code 6. Object Oriented design, polymorphism, Functional programming, recursion 7. 100 questions on Ruby and Rails 8. 100 questions on Ruby and Rails, write some JavaScript a counter 9. 50 questions on Ruby and Rails then Fizzbuzz 10.Piglatin, problem solving, project management, architecture, distributed networks 11.Informal with devs, code bowling rules, problem solving, Architecture, code comprehension with complex legacy code 12.Take home 1(algorithm, web security, code comprehension, SQL, find the bug ), Take home 2 (add features to an existing rail codebase) 13.Add a feature to your own rails code 14.Describe web process, 20 questions on web security, code a bubble sort, write an Sql query
  • 59. Learning about others through your play
  • 60. • Blog ericbrooke.wordpress.com • Twitter @ericbrooke • Git Hub: ericbrooke • Goodreads: http://www.goodreads.com/ericbrooke • Linkedin http://www.linkedin.com/in/ericbrooke Professional Career - http://www.linkedin.com/in/ericbrooke Articles I have read and events I attend - http://twitter.com/ericbrooke A blog of unfinished thoughts - http://ericbrooke.wordpress.com/ What do I read? -  Coding https://github.com/ericbrooke/