Transcript cs jobs

Getting a Job in CS
{
Micah Chasteen
}
Outline

Introduction

Getting Started

Resumes

Interviews


Phone

In-Person

<A_Lot_More_Stuff_Goes_Here>
Offers
Introduction

Why

Set Goals

Give Confidence

Demystify The Process

Provide Career Options

Because People Asked Me To
Introduction

Disclaimer

May Be Too Intense For Some Viewers

No Purchase Necessary

For Educational Purposes Only

Use Only As Directed

Some Assembly Required

Your Miles May Vary
Getting Started

If you have time…

Projects

Internships

Research

Papers

Conferences

Contests
Getting Started

Start Studying/Refreshing

Apply Everywhere

Even Google (When?)

Experience and Future Opportunities

Use Job Sites

Network

LinkedIn and Alumni
Resumes

If you have time…

Start Your Resume

Add Details As They Happens

Always Keep It Up To Date
Resumes

Tailor For The Position

Resume Paper

1 Page (B.S.) || 2 Page (M.S.)

Clean, Organized Style

Promote Yourself Reasonably

Multiple Formats (PDF, DOC, TXT)

4 Second Rule
Resumes

Layout

Clubs/Activities

Name

Interests

Contact


Objective
Reference
Requests

QRC/Link To
Personal Site

Experience

Skills

Education (GPA)

Projects
Resumes

Must Haves


C++ or Java
Hot Skills

Mobile Development

Cloud Computing
Personal Website

Electronic Resume

More Details

Easy, Professional Name

Reliable, Accessible

Elegant, Properly Coded

http://resume.csgradbox.com
Reminders/Suggestions

Actively Review Social Media

Reduce Your Social Time

You Get Out What You Put In

Don’t Take The First Job

Aim For Concurrent Offers

This Can Be A Long Process

Recruiters Want Money (Not You)
Interviewing

HR Questions

Project Questions (Excel)

Be Polite And Personable

Be Confident and Don’t Give Up

Have Questions For Them

Do At Least One Mock Interview
(One For Each Kind)
Phone

Find Secluded Area

Use Landline w/Hands Free

No Noises or Distractions

Keep Resume In Sight

No Visual Contact
In Person

Be Early

Dress Nice But Appropriate

Be Rested and Relaxed

Turn Cell Phone OFF

Don’t Fidget

Take Extra Resumes
Riddles

Why Are Manhole Covers Round?

How Many Golf Balls Can Fit On A
School Bus?

How Many Piano Tuners Are There In
Nashville?

How Do They Make M&Ms?
Question

This a game for two players

You have a flat, rectangular table

Each player lays a quarter on the table
somewhere that touches no other
quarter

The loser is the first person who
cannot place a quarter

What is your strategy if you go first?
Coding Interviews

Stress

Confidence

Knowledge

Quick Thinking

Explaining

Problem Solving
Coding Interviews

Space Complexity

Growth Complexity

Asymptotic Notation

Best, Average, And Worst Case
Coding Interviews

Practice On A Whiteboard

Do Not Look Anything Up

Talk Out Loud

Time Yourself
Coding Interviews


Programming Contests

Top Coder

ACM ICPC

Code Sprint
Interview Sites

Glass Door

Career Cup
Concepts

Recursion

Encryption

Encoding

Parallel Processing

Deadlock, Livelock

Monitors, Semaphors, Locks

Process VS. Thread

Distributive Computing
Must-Know Problems

Traveling Salesperson

Knapsack (0/1)

Shortest Path
Language Specific

C++

Size of Data Types

IEEE Format

Abstract Classes

Overloaded Operators

Multiple Inheritance

ST Library
Language Specific

Java

Final, Finalize, Finally

Inheritance and Interface

Pass-By-Value or Pass-By-Reference

Synchronization

Garbage Collection
Basic Algorithms


Sorting

Heap Sort

Quick Sort

Merge Sort
Searching

Min, Max

Kth Least
S.E. Questions

Design Patterns


What Are These?
Test Cases

Practice Testing Programs
Question

You have an array with 999 locations,
and each location contains a unique
integer with a value from 1 to 1000
(inclusive)

How do you find the missing number?
Data Structures/ADT


Strings

Reverse (Words)

Remove Characters

Matching Substrings
Linked Lists

Reverse (Singly-Linked)

Swap Pairs (Singly-Linked)

Delete (Circular)
Question

Write a program to find the
Mth-to-last element in a singly linked
list given only the head of the list.
Question

Write a program to determine if a
singly linked list is cyclic.

If it is then return the node that begins
the new cycle.
Data Structures/ADT

Queue


Heap


Make From Stacks
Priority Queue
Hash Table

Ordered Hash Table
Data Structures/ADT

Trees

Binary Tree

Binary Search Tree

2-3 Tree and 2-3-4 Tree

Red-Black Tree or AVL Tree

Pre/In/Post Order Traversal
Data Structures/ADT

Graphs

Breadth First Search

Depth First Search

Dijkstra’s Shortest Path

A* Search

Minimal Spanning Tree
Design Questions

Amazon Streaming Service

Amazon Recommendation Service
Question

Create a class-based weapon schema
Question

Self-Testing Furniture Class
Coding Questions

Pivot of Rotated Array

Conway’s Game of Life

Scrabble Tiles

Boggle Solver

Search Continuous Floating Point F(X)

Fibonacci Sequence (Memoized)

Sum of Array Pairs
Question

Write a program that prints out all the
valid words on a Boggle board.
Question

Write a program to determine if an
array has a pair of numbers that equal
a given sum.
Comparing Offers

Read Everything

Look At The Benefits

Consider Perks

Travel Percentage

Relocation

Research Location (CoL)
Comparing Offers

Work Environment

Ability To Advance

Experience Gained

Is It What You Want To Do?
Declining Offers

Call Them

Be As Polite As Possible

Keep Contact Information
Getting a Job in CS
{
Thank You!
}