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! }