CS 635 Advanced Object-Oriented Design & Programming Spring ...

5 downloads 465 Views 120KB Size Report
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