May 1, 2012 ... Books. Cracking Coding Interview: 150 Programming Questions and Solutions by
Gayle McDowell. Programming Interview Questions Exposed.
CS 635 Advanced Object-Oriented Design & Programming Spring Semester, 2012 Doc 24 Jobs May 1 2012 Copyright ©, All rights reserved. 2012 SDSU & Roger Whitney, 5500 Campanile Drive, San Diego, CA 92182-7700 USA. OpenContent (http:// www.opencontent.org/opl.shtml) license defines the copyright on this document.
Tuesday, May 1, 12
1
Interview
2 Tuesday, May 1, 12
2
Prepare for the Interview Review interview questions Study the company
3 Tuesday, May 1, 12
3
Common Topics Algorithms Data Structures Design Patterns Agile development Coding
4 Tuesday, May 1, 12
4
Resources for preparing Books Cracking Coding Interview: 150 Programming Questions and Solutions by Gayle McDowell Programming Interview Questions Exposed Eric Giguere, John Mongan, Noah Suojanen
Websites careercup.com glassdoor.com
5 Tuesday, May 1, 12
5
Sample Questions Why data members are private when we can access them through getter/setters?. Why can't we just make them public.[ How will you convince the interviewer] Design a multiple elevators system of skyscraper. Design an algorithm to let person find available elevator soon. How to improve your algorithm? If you are provided with 8 balls with one among them heavier than remaining . You have a weighing balance. in how many measures can u identify the heavier ball. you have a 5 liter and a 3 liter jars. You can use any amount of water. Shouldnt use any other jars or containers. How can you get exact 4 liters of water? What are you looking for? Me: " I'm looking to work in a software engineering position at Apple because I really enjoy building projects with iOS." Interviewer: "Is that all you've got? haha." Question: How do I respond to this?
6 Tuesday, May 1, 12
6
If you don't know admit it Interviewers looking at different levels What do you know How do you solve problems How do you react under pressure Can you admit not knowing
7 Tuesday, May 1, 12
7
Ask Questions People who are really interested in the position will ask questions
8 Tuesday, May 1, 12
8
Getting the Interview
9 Tuesday, May 1, 12
9
Most Job ads contain a long list of requirements Don't take the list too seriously
10 Tuesday, May 1, 12
10
A company can get 100's of resumes a day
11 Tuesday, May 1, 12
11
How to get them to read your resume Network Do something Be an expert
12 Tuesday, May 1, 12
12
Network Maintain a network of friends and professional acquaintances Use them when looking for a job
13 Tuesday, May 1, 12
13
Network Facebook Linked In Professional meetings
14 Tuesday, May 1, 12
14
Network Long term You will need/want another job
15 Tuesday, May 1, 12
15
Do Something All students take about the same courses No job experience So hard to stand out
16 Tuesday, May 1, 12
16
Do Something A side project will help you stand out An interesting side project is better If no ideas look for open-source project to contribute to
17 Tuesday, May 1, 12
17
Do Something Write a blog on technical issues
18 Tuesday, May 1, 12
18
Be an expert Pick a topic and become knowledgeable on it Blog on it Give talks on it
19 Tuesday, May 1, 12
19
On the Job
20 Tuesday, May 1, 12
20
Find a Mentor
You need to improve your skill set Find someone to help you do that
21 Tuesday, May 1, 12
Books like Code Complete and The Art of Readable Code help but working with someone good is much better
21
Fast Changing World
Global work force New technologies
22 Tuesday, May 1, 12
22
40
Age at which software developers start to have hard time finding work in Bay Area
23 Tuesday, May 1, 12
23
The Big Secret
All people like to have their work appreciated
-- G. Weinberg
24 Tuesday, May 1, 12
24
DeMarco's Principle
Effort moves toward whatever is measured
-- G. Weinberg
25 Tuesday, May 1, 12
25
Familiarity
Familiarity is always more powerful than comfort. -- Virginia Satir
26 Tuesday, May 1, 12
26
The Zeroth Law of Quality
If you don't care about quality, you can meet any other requirement.
-- G. Weinberg
27 Tuesday, May 1, 12
27
First Law of Programming
Lowering quality lengthens development time
-- G. Weinberg
28 Tuesday, May 1, 12
28
The First Principle of Programming
The best way to deal with errors is not to make them in the first place.
-- G. Weinberg
29 Tuesday, May 1, 12
29
Crosby's Economics of Quality
It is always cheaper to do the job right the first time.
-- G. Weinberg
30 Tuesday, May 1, 12
30
The Harder Law
Once you eliminate your number one problem, you promote number two
-- G. Weinberg
31 Tuesday, May 1, 12
31
The Rule of Three
If you can not think of three things that might go wrong with your plans (or software design), there is something wrong with your thinking -- G. Weinberg
32 Tuesday, May 1, 12
32
Brooke's Model
Lack of calendar time has forced more failing software projects to face the reality of their failure than all other reasons combined -- G. Weinberg
33 Tuesday, May 1, 12
33
The Helpful Model
No matter how it looks, everyone is trying to be helpful.
-- G. Weinberg
34 Tuesday, May 1, 12
34
The Controller Dilemma
The controller of a well-regulated system may not seem to be working hard.
-- G. Weinberg
35 Tuesday, May 1, 12
35
The Controller Fallacy
If the controller isn't busy, it's not doing a good job. If the controller is very busy, it must be a good controller.
-- G. Weinberg
36 Tuesday, May 1, 12
36
Manager's Not Available
Busy managers mean bad management.
-- G. Weinberg
37 Tuesday, May 1, 12
37
First Law of Bad Management
When something isn't working, do more of it
-- G. Weinberg
38 Tuesday, May 1, 12
38