Interviewing CSE 403. in my old age I treat Dilbert less as farce and more as documentary. Patrick McKenzie

Similar documents
Getting Started with Deliberate Practice

CS 101 Computer Science I Fall Instructor Muller. Syllabus

PREP S SPEAKER LISTENER TECHNIQUE COACHING MANUAL

Why Pay Attention to Race?

E C C. American Heart Association. Basic Life Support Instructor Course. Updated Written Exams. February 2016

Welcome to ACT Brain Boot Camp

TASK 2: INSTRUCTION COMMENTARY

Science with Kids, Science by Kids By Sally Bowers, Dane County 4-H Youth Development Educator and Tom Zinnen, Biotechnology Specialist

How to get the most out of EuroSTAR 2013

Job Hunting Skills: Interview Process

Experience Corps. Mentor Toolkit

How to make successful presentations in English Part 2

MENTORING. Tips, Techniques, and Best Practices

PREVIEW LEADER S GUIDE IT S ABOUT RESPECT CONTENTS. Recognizing Harassment in a Diverse Workplace

From Self Hosted to SaaS Our Journey (LEC107648)

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

2017 Guide to Applying for Wisconsin 4-H & Youth Conference

Lecturing Module

Backstage preparation Igniting passion Awareness of learning Directing & planning Reflection on learning

WELCOME PATIENT CHAMPIONS!

Study Guide for Right of Way Equipment Operator 1

How To Take Control In Your Classroom And Put An End To Constant Fights And Arguments

A. True B. False INVENTORY OF PROCESSES IN COLLEGE COMPOSITION

WORK OF LEADERS GROUP REPORT

Career Preparation for English Majors Department of English The Ohio State University

WSU Five-Year Program Review Self-Study Cover Page

COMMUNICATION & NETWORKING. How can I use the phone and to communicate effectively with adults?

STUDENT MOODLE ORIENTATION

a) analyse sentences, so you know what s going on and how to use that information to help you find the answer.

Writing Research Articles

Pair Programming. Spring 2015

P-4: Differentiate your plans to fit your students

Roadmap to College: Highly Selective Schools

New Venture Financing

The EDI contains five core domains which are described in Table 1. These domains are further divided into sub-domains.

GCSE Results: What Next? Ü Ü. Norfolk County Council. Are your results better or worse than expected?

Call Center Assessment-Technical Support (CCA-Technical Support)

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Assessing Children s Writing Connect with the Classroom Observation and Assessment

Speak Up 2012 Grades 9 12

RETURNING TEACHER REQUIRED TRAINING MODULE YE TRANSCRIPT

TRANSNATIONAL TEACHING TEAMS INDUCTION PROGRAM OUTLINE FOR COURSE / UNIT COORDINATORS

How to make an A in Physics 101/102. Submitted by students who earned an A in PHYS 101 and PHYS 102.

Fearless Change -- Patterns for Introducing New Ideas

The Introvert s Guide to Building Rapport With Anyone, Anywhere

Software Maintenance

Guidelines for Project I Delivery and Assessment Department of Industrial and Mechanical Engineering Lebanese American University

Eduroam Support Clinics What are they?

The Foundations of Interpersonal Communication

Presentation skills. Bojan Jovanoski, project assistant. University Skopje Business Start-up Centre

CS Course Missive

Tutoring First-Year Writing Students at UNM

Exemplar Grade 9 Reading Test Questions

No Parent Left Behind

Identifying Novice Difficulties in Object Oriented Design

FCE Speaking Part 4 Discussion teacher s notes

The Success Principles How to Get from Where You Are to Where You Want to Be

Time, talent, treasure FRATERNITY VALUE: PHILANTHROPIC SERVICE TO OTHERS SUGGESTED FACILITATOR: VICE PRESIDENT OF PHILANTHROPY

CS177 Python Programming

IBCP Language Portfolio Core Requirement for the International Baccalaureate Career-Related Programme

Biomedical Sciences (BC98)

Creating and Thinking critically

Following the Freshman Year

Introduce yourself. Change the name out and put your information here.

Go With the Flow. By Nancy Kott WZ8C

Introduction to Causal Inference. Problem Set 1. Required Problems

IN THIS UNIT YOU LEARN HOW TO: SPEAKING 1 Work in pairs. Discuss the questions. 2 Work with a new partner. Discuss the questions.

Changing User Attitudes to Reduce Spreadsheet Risk

Soaring With Strengths

PART C: ENERGIZERS & TEAM-BUILDING ACTIVITIES TO SUPPORT YOUTH-ADULT PARTNERSHIPS

Notetaking Directions

How to make your research useful and trustworthy the three U s and the CRITIC

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Lecturing in a Loincloth

Red Flags of Conflict

Sleeping Coconuts Cluster Projects

Author: Justyna Kowalczys Stowarzyszenie Angielski w Medycynie (PL) Feb 2015

Lesson Plan. Preliminary Planning

A Pumpkin Grows. Written by Linda D. Bullock and illustrated by Debby Fisher

Course Content Concepts

Naviance / Family Connection

10 tango! lessons. for THERAPISTS

Outreach Connect User Manual

How to organise Quality Events

ALL-IN-ONE MEETING GUIDE THE ECONOMICS OF WELL-BEING

END TIMES Series Overview for Leaders

Information for Candidates

Liking and Loving Now and When I m Older

1. Faculty responsible for teaching those courses for which a test is being used as a placement tool.

Mission Statement Workshop 2010

ABET Criteria for Accrediting Computer Science Programs

Major Milestones, Team Activities, and Individual Deliverables

What effect does science club have on pupil attitudes, engagement and attainment? Dr S.J. Nolan, The Perse School, June 2014

Personality Special Report: Power of Personality

SMALL GROUPS AND WORK STATIONS By Debbie Hunsaker 1

Special Educational Needs Assessment for Learning. Phil Dexter, British Council, Teacher Development Adviser

Chapter 4 - Fractions

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

COMMUNICATING EFFECTIVELY WITH YOUR INSTRUCTOR

Blackboard Communication Tools

Transcription:

Interviewing CSE 403 in my old age I treat Dilbert less as farce and more as documentary. Patrick McKenzie

For and from you Those who have done this before Think about what you want to add, because I ll be asking throughout. Others You re going to be doing this soon, so pay attention!

The Process 1. Recruiter/resume screen 2. Preliminary interview(s) Non-technical phone screen 1-2 technical phone interviews 1-2 technical on-campus interview 1-2 online programming challenges 3. On-site interview day(s) 2-7 in-person technical interviews Timeline: 3 weeks to 3 months Any other processes? 4. Follow-up technical phone/skype interview(s)

Studying for Technical Questions DO Practice real questions Strongly prefer breadth of knowledge to depth Do the questions don t just read the answers Read interview books and websites Share with friends (but beware NDAs) DO use paper or a whiteboard, not a computer DO switch off with a friend being interviewer and interviewee Interviewers look here, too!

Studying for Technical Questions DO know the obvious topics Depth-first and bread-first traversals of DAGs Implementation/operations/traversals/running times for hash tables, binary (search) trees, arrays, singlylinked lists, and heaps Quicksort, merge sort DO pick a good language and know it well Most companies let you pick any language (tip: try Python) Use language features that make things easy (e.g., list slices and generators in Python)

Studying for Technical Questions DON T learn the complex data structures Your interviewers haven t written an AVL tree since college, if ever Most questions feature traversals of arrays/strings, singly-linked lists, grids (twodimensional arrays), and DAGs DON T trust the recruiter to tell you about questions and topics to expect Each interviewer selects their own questions

Studying for Technical Questions DO learn the patterns in solutions. Examples? Dynamic programming on 2**n solutions Slow-pointer/fast-pointer traversal of linked lists Heaps are common Range constraints (last five minutes, ages) often imply easy constant-space solutions To determine if two strings are anagrams, sort their characters Chat for a couple minutes with the people around you!

Studying for Technical Questions Other DOs or DON Ts for preparing?

Studying for Non-Technical Questions Practice nugget-first/situation-action-result How did you lower costs or increase profits? Focus on recent experience Prepare for typical questions. Examples? Tell me about a project you re working on. Tell me about a recent programming challenge you faced. Why do you want to work here? Tell me about a recent conflict with a teammate. This is your basic job description, so keep it in mind.

The Night Before the Interview Study the company What do they build? What tools do they use? How do they present themselves? Organization structure? Study the position Different companies assign different responsibilities to roles with the same title. Plan your trip so you can be comfortably on-time Where is the building? How will you get there and back? How long will it take to get there? Who will you ask for? Dress comfortably and slightly better than their average employee.

In the Interview Psychology You have to make the interviewer like you be charismatic. If you re tense, it will show in your attitude and your answers, so stay calm! Postpone important interviews until after you ve had practice with other companies Some interviewers pick a question they know you can t solve just to see how far you get and how you handle the stress

Tackling a Technical Question 1. Write the problem on the whiteboard. Ask clarification questions. 2. Talk through an algorithm. No code yet! 3. Write the problem on the whiteboard. Ask clarification questions. 4. Step through at least one non-trivial test case. Fix bugs carefully and methodically.

Tackling a Technical Question 1. Write the problem on the whiteboard. Ask clarification questions. If you ve done this exact problem, say so. Be prepared to describe the solution. Guarantees that you understand the question. Questions: What about symbolic links in file systems? Does this maze have an exit? Others?

Tackling a Technical Question 2. Talk through an algorithm. No code yet! Always mention obvious-but-inefficient solutions. They re great fallbacks, and show that you can solve the problem. You re never totally stuck. You can always solve at least part of the problem, so focus on that! No matter what, stay positive. Laugh about your confusion!

Tackling a Technical Question 3. Write code at a moderate pace (it will feel slow). It s okay to forget some syntax or an API just say so. Use good decomposition: Gee, I wish I had a function that. (Don t implement helpers yet, and only if the interviewer wants you to!) It s worth saying again: No matter what, stay positive. Laugh it off!

Tackling a Technical Question 4. Step through at least one non-trivial test case. Fix bugs carefully and methodically. Don t be careless make sure to completely understand the source of the problem before trying to fix it. I said this already, but no matter what, stay positive. Laugh off the mistakes!

Tackling a Technical Question What has worked for you in interviews?

Now it s your turn Demonstrate your insight and passion How do you overcome problem X given your problem Y (scale, distributed systems, tools, deployment, etc.) I m interested in learning X. Did you come to this company with a background in X already, or are there opportunities to learn it?

Now it s your turn Evaluate whether you want to work there. Good questions to ask? Can you imagine getting along with your interviewer? Is there opportunity for advancement and movement between projects? How much time would you spend in meetings per week? Coding per day? What is the ratio of developers to testers to product managers?

After the Interview Relax there s no point worrying and you cannot accurately judge your performance. If you haven t heard anything in a week, you can send a polite email. You can ask them to hurry up or give you more time to align with other companies schedules. Be polite!

After the Interview You got the job Negotiate. It s expected! Remember a lot of money to you is peanuts to them. Or you didn t Don t take it personally. Companies encourage you to try, try, try again.

Bibliography and Other Resources Cracking the Coding Interview (Gayle Laakmann) Programming Interviews Exposed (Mongan, Giguere, and Kindler) Elements of Programming Interviews (Aziz, Prakash, and Lee) Don t Call Yourself a Programmer. Blog post. Patrick McKenzie (Kalzumeus Software). How to Get a Job at Google. Thomas L. Friedman (New York Times). UW CSE Recruiting Policy for Employers. UW CSE.