Muutke küpsiste eelistusi

Ace the Programming Interview: 160 Questions and Answers for Success [Pehme köide]

  • Formaat: Paperback / softback, 448 pages, kõrgus x laius x paksus: 229x152x20 mm, kaal: 599 g
  • Ilmumisaeg: 09-Jul-2013
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 111851856X
  • ISBN-13: 9781118518564
Teised raamatud teemal:
  • Pehme köide
  • Hind: 41,04 €*
  • * saadame teile pakkumise kasutatud raamatule, mille hind võib erineda kodulehel olevast hinnast
  • See raamat on trükist otsas, kuid me saadame teile pakkumise kasutatud raamatule.
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 448 pages, kõrgus x laius x paksus: 229x152x20 mm, kaal: 599 g
  • Ilmumisaeg: 09-Jul-2013
  • Kirjastus: John Wiley & Sons Inc
  • ISBN-10: 111851856X
  • ISBN-13: 9781118518564
Teised raamatud teemal:
A veteran hiring manager takes experienced and first-time programmers alike behind-the-scenes of the recruitment process, providing expert advice on how to successfully handle the interview process and demonstrate their programming skills to land the job they want. Original.

A veteran hiring manager takes experienced and first-time programmers alike behind-the-scenes of the recruitment process, providing expert advice on how to successfully handle the interview process and demonstrate their programming skills to land the jobthey want.

Be prepared to answer the most relevant interview questions and land the job

Programmers are in demand, but to land the job, you must demonstrate knowledge of those things expected by today's employers. This guide sets you up for success. Not only does it provide 160 of the most commonly asked interview questions and model answers, but it also offers insight into the context and motivation of hiring managers in today's marketplace. Written by a veteran hiring manager, this book is a comprehensive guide for experienced and first-time programmers alike.

  • Provides insight into what drives the recruitment process and how hiring managers think
  • Covers both practical knowledge and recommendations for handling the interview process
  • Features 160 actual interview questions, including some related to code samples that are available for download on a companion website
  • Includes information on landing an interview, preparing a cheat-sheet for a phone interview, how to demonstrate your programming wisdom, and more

Ace the Programming Interview, like the earlier Wiley bestseller Programming Interviews Exposed, helps you approach the job interview with the confidence that comes from being prepared.

Introduction xxiii
Chapter 1 Hiring Programmers: The Inside Story
1(28)
Reasons They Recruit
2(5)
Planned expansion
3(1)
The interviewer's motivation and approach
3(1)
Your approach
3(2)
Specific projects
5(1)
The interviewer's motivation and approach
5(1)
Your approach
5(1)
Replacing someone
6(1)
The interviewer's motivation and approach
6(1)
Your approach
6(1)
Talking to Managers
7(1)
Tech talk---don't hold back
7(1)
Using metaphors
8(1)
Preparing Your CV
8(6)
Include relevant keywords but keep them in context
9(1)
Write as well as you can
9(1)
Justify your claims of experience
9(1)
Ignore anyone who tells you "strictly one or two pages"
10(1)
Emphasize skills that match the job advertisement
10(1)
Don't leave unexplained gaps between jobs
10(1)
"Reading, music, and cinema"
11(1)
Use a logical layout
11(1)
Graduate CVs
11(1)
CVs containing more experience
12(1)
CVs of those returning to work
12(1)
Avoiding common CV blunders
13(1)
Poor spelling or grammar
13(1)
Vague or nonspecific accomplishments
13(1)
Unclear or cluttered layout
13(1)
Unprofessional e-mail address
14(1)
Using Job Sites
14(1)
Comparison of major job boards
15(1)
Recruitment Agencies
15(2)
Working effectively with a recruiter
17(1)
Searching for Jobs Yourself
17(5)
Networking for introverts
18(2)
Finding potential employers
20(1)
Approaching potential employers
20(1)
Being persistent
21(1)
Timing
22(1)
Emerging Alternatives
22(7)
Using Twitter
22(1)
Using Facebook
23(1)
Using LinkedIn
24(1)
Writing a Blog
25(1)
Careers at Stack Overflow
26(1)
Skills matter: "Find Your Ninja"
27(2)
Chapter 2 Handling the Phone Interview with Confidence
29(10)
Knowing What to Expect
30(9)
Preparing your cheat sheets
32(1)
Relating your experience
32(1)
Answering hard questions
33(1)
Asking good questions
34(1)
Having a phone interview checklist
35(1)
Using a phone interview cheat sheet template
35(4)
Chapter 3 In-Person Interviews
39(14)
Preparing for the Interview
39(6)
Knowing what to expect
40(1)
Doing your homework
41(1)
Dressing appropriately
42(1)
Handling different types of interview questions
42(1)
Fielding social and behavioral questions
43(1)
Handling design problems
43(1)
Tackling technical pop-quiz questions
43(1)
Fielding the general intelligence test
44(1)
Dealing with the stress test question
44(1)
The Most Important Thing
45(3)
Establishing rapport
46(1)
It takes work
47(1)
Be a good listener
47(1)
Ask good questions
47(1)
Mirror your interviewer
47(1)
Look for ways to interact
47(1)
The Second Most Important Thing
48(1)
Speaking up
48(1)
Being aware of how much time you have
48(1)
Stories are good, evidence is better
49(1)
Communicating Effectively
49(4)
Using your passion to combat nerves
49(1)
Using your hands
49(1)
Speaking slower than usual
50(1)
Starting and finishing clearly
50(1)
Repeating your main point
50(1)
Spontaneity improves with practice
51(2)
Chapter 4 Negotiating a Job Offer
53(10)
Understanding the Market
54(1)
Doing the Numbers
54(3)
Considering the whole package
55(1)
Must have, should have, could have
56(1)
Must have
56(1)
Should have
56(1)
Could have
57(1)
Won't have
57(1)
The Role of the Recruiting Agent
57(1)
Start as You Mean to Go On
57(2)
Avoid overcommitting
58(1)
Realism and idealism
58(1)
Evaluating a Contract
59(1)
Intellectual Property (IP)
59(1)
Non-compete clauses
60(1)
Non-solicitation clauses
60(1)
What to Do If Things Go Wrong
60(1)
"It's a standard contract"
60(1)
The silent treatment
61(1)
Escalation and ultimatums
61(1)
Summary of Negotiating Tips
61(2)
Chapter 5 Programming Fundamentals
63(46)
Understanding Binary, Octal, Hexadecimal
64(4)
Converting hexadecimal to binary
66(1)
Using unicode
67(1)
Understanding Data Structures
68(5)
Using arrays
68(1)
Using hash tables
69(1)
Using queues and stacks
70(1)
Using trees
70(2)
Using graphs
72(1)
Understanding graph traversal
72(1)
Sorting
73(2)
Working with Recursion
75(1)
Modeling with Object-Oriented Programming
76(5)
Understanding classes and objects
76(2)
Untangling inheritance and composition
78(1)
Exploring polymorphism
78(2)
Data-hiding with encapsulation
80(1)
Thinking Like a Functional Programmer
81(1)
Understanding SQL
81(1)
What is ACID?
81(1)
Set-based thinking
82(1)
Full-Stack Web Development
82(1)
Decipering Regular Expressions
83(9)
Finding content with anchors and word boundaries
85(1)
Matching character classes
86(2)
Constraining matches with quantifiers
88(1)
Working with groups and captures
89(1)
Avoiding gotchas
90(2)
More reading
92(1)
Recognizing Hard Problems
92(1)
Questions
93(2)
Answers
95(14)
Chapter 6 Code Quality
109(48)
Writing Clear Code
110(2)
Writing Expressive Code
112(1)
Measuring Efficiency and Performance
112(7)
Big-O notation
113(1)
Constant, O(1)
113(1)
Logarithmic, O(log n)
114(1)
Linear, O(n)
114(2)
Quadratic, O(n2)
116(1)
Using big-O
116(1)
Measure performance
117(1)
Consider context
118(1)
Have a goal
118(1)
Measure more than once take an average
118(1)
Divide and conquer
118(1)
Try the easy things first
119(1)
Use a profiler
119(1)
Understanding What "Modular" Means
119(2)
Understanding the SOLID principles
121(5)
Single Responsibility Principle
121(2)
Open/Closed Principle
123(1)
Liskov Substitution Principle
123(1)
Interface Segregation Principle
124(1)
Dependency Inversion Principle
125(1)
Avoiding Code Duplication
126(2)
Questions
128(6)
Answers
134(23)
Chapter 7 The Usual Suspects
157(36)
Concurrent Programming
158(9)
Race conditions
160(1)
Locks
160(5)
Deadlocks
165(1)
Livelocks
166(1)
Relational Databases
167(4)
Database design
167(1)
Normalization
168(1)
First normal form: "No repeated values"
168(1)
Second normal form: "No partial dependencies"
169(1)
Third normal form: "No transitive dependencies"
169(1)
Boyce-Codd normal form
169(1)
Beyond BCNF
170(1)
Denormalization
170(1)
Populating a normalized database
170(1)
Pointers
171(6)
Functions in C receive arguments by value
173(1)
Arrays in C are handled like pointers
174(1)
Passing values and references
175(2)
Design Issues
177(2)
YAGNI is not an excuse to take shortcuts
177(1)
Design for performance
178(1)
Do not trade common sense for a methodology
178(1)
Bad Habits
179(5)
Mishandling exceptions
179(1)
Not being paranoid enough
180(1)
Being superstitious
181(1)
Working against the team
182(1)
Copying and pasting too much
182(1)
Eager loading
183(1)
Questions
184(2)
Answers
186(7)
Chapter 8 Quirks and Idioms
193(52)
Binary Fractions and Floating Point Numbers
194(1)
Questions
195(1)
JavaScript
195(1)
Questions
195(3)
C#
198(1)
Questions
198(2)
Java
200(1)
Questions
200(1)
Perl
201(1)
Questions
202(3)
Ruby
205(1)
Questions
205(1)
Transact-SQL
206(1)
Questions
206(2)
Answers
208(37)
Chapter 9 Testing --- Not Just for Testers
245(20)
Unit Tests
246(1)
Test-Driven Development
246(1)
Behavior-driven development
247(1)
Red, green, refactor
247(1)
Writing Good Unit Tests
247(2)
Run quickly
247(1)
Be simple
248(1)
Be self-evident
248(1)
Be helpful when failing
248(1)
Be self-contained
248(1)
Testing Slow Things
249(1)
Unit Testing Frameworks
249(2)
Mock Objects
251(2)
Questions
253(3)
Answers
256(9)
Chapter 10 The Right Tools
265(38)
Exploring Visual Studio
266(1)
Questions
266(2)
Exploiting Command-Line Tools
268(1)
Questions
269(2)
Understanding PowerShell
271(1)
Questions
271(1)
Troubleshooting with Utilities from Sysinternals
272(1)
Questions
272(1)
Managing Source Code
272(1)
Source control with Team Foundation Server
273(1)
Questions
273(1)
Source control with Subversion
273(1)
Questions
274(1)
Source control with git
274(1)
Questions
275(1)
Answers
275(28)
Chapter 11 Notorious Interview Questions
303(48)
Estimating on the Spot
303(1)
Questions
304(1)
Solving Puzzles and Brain-Teasers
304(1)
Questions
304(2)
Solving Probability Problems
306(1)
Questions
306(1)
Coping with Concurrency
307(1)
Questions
307(1)
Doing Tricks with Bits
308(1)
Questions
309(1)
Devising Recursive Algorithms
309(1)
Questions
309(2)
Understanding Logic Gates
311(2)
Questions
313(2)
Writing Code to Prove You Can Code
315(1)
Questions
315(1)
Answers
316(35)
Chapter 12 Programming Wisdom
351(44)
Questions
352(5)
Answers
357(38)
Appendix Preparing Your Cheat Sheets
395(6)
General and Behavioral
396(1)
Programming, General
397(1)
Programming Concepts
397(1)
Work History
398(1)
Questions to Ask, If Given the Opportunity
399(2)
Index 401
Edward Guiness is a software developer who has been both interviewer and interviewee over his long career. He has been programming since before the birth of Windows 1.0. In 2012, Edward founded SocialCoder (socialcoder.org), a volunteering organization for programmers, designers, and other technical people.