Book Detail : Ace the Programming Interview

Book Title: 
Ace the Programming Interview
Resource Category: 
Publisher: 
Publication Year: 
2 013
Number of Pages: 
448
ISBN: 
978-1-118-51856-4
Language: 
English
WishList: 
yes
Available at Shelf: 
No
Description: 

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.

Table of Contents (Summary): 

Chapter 1 Hiring Programmers: The Inside Story 

Chapter 2 Handling the Phone Interview with Confi dence 

Chapter 3 In-Person Interviews

Chapter 4 Negotiating a Job Offer

Chapter 5 Programming Fundamentals 

Chapter 6 Code Quality

Chapter 7 The Usual Suspects 

Chapter 8 Quirks and Idioms

Chapter 9 Testing — Not Just for Testers

Chapter 10 The Right Tools

Chapter 11 Notorious Interview Questions

Chapter 12 Programming Wisdom

Appendix Preparing Your Cheat Sheets

Index 

Table of Contents (Expanded): 

Chapter 1 Hiring Programmers: The Inside Story

  • Reasons They Recruit
    • Planned expansion
      • The interviewer’s motivation and approach
      • Your approach
    • Specifi c projects
      • The interviewer’s motivation and approach
      • Your approach
    • Replacing someone
      • The interviewer’s motivation and approach
      • Your approach
  • Talking to Managers
    • Tech talk—don’t hold back
    • Using metaphors
  • Preparing Your CV
    • Include relevant keywords but keep them in context
    • Write as well as you can
    • Justify your claims of experience
    • Ignore anyone who tells you “strictly one or two pages”
    • Emphasize skills that match the job advertisement
    • Don’t leave unexplained gaps between jobs
    • “Reading, music, and cinema”
    • Use a logical layout
    • Graduate CVs
    • CVs containing more experience
    • CVs of those returning to work
    • Avoiding common CV blunders
    • Poor spelling or grammar
    • Vague or nonspecific accomplishments
    • Unclear or cluttered layout
    • Unprofessional e-mail address
  • Using Job Sites
    • Comparison of major job boards
  • Recruitment Agencies
    • Working effectively with a recruiter
  • Searching for Jobs Yourself
    • Networking for introverts
    • Finding potential employers
    • Approaching potential employers
    • Being persistent
    • Timing
  • Emerging Alternatives
    • Using Twitter
    • Using Facebook
    • Using LinkedIn
    • Writing a Blog
    • Careers at Stack Overfl ow
    • Skills matter: “Find Your Ninja”

Chapter 2 Handling the Phone Interview with Confidence

  • Knowing What to Expect
    • Preparing your cheat sheets
    • Relating your experience
    • Answering hard questions
    • Asking good questions
    • Having a phone interview checklist
    • Using a phone interview cheat sheet template

Chapter 3 In-Person Interviews

  • Preparing for the Interview
    • Knowing what to expect
    • Doing your homework
    • Dressing appropriately
    • Handling different types of interview questions
      • Fielding social and behavioral questions
      • Handling design problems
      • Tackling technical pop-quiz questions
      • Fielding the general intelligence test
      • Dealing with the stress test question
  • The Most Important Thing
    • Establishing rapport
    • It takes work
      • Be a good listener
      • Ask good questions
      • Mirror your interviewer
      • Look for ways to interact
  • The Second Most Important Thing
    • Speaking up
    • Being aware of how much time you have
    • Stories are good, evidence is better
  • Communicating Effectively
    • Using your passion to combat nerves
    • Using your hands
    • Speaking slower than usual
    • Starting and fi nishing clearly
    • Repeating your main point
    • Spontaneity improves with practice

Chapter 4 Negotiating a Job Offer

  • Understanding the Market
  • Doing the Numbers
    • Considering the whole package
    • Must have, should have, could have
      • Must have
      • Should have
      • Could have
      • Won’t have
  • The Role of the Recruiting Agent
  • Start as You Mean to Go On
    • Avoid overcommitting
    • Realism and idealism
  • Evaluating a Contract
    • Intellectual Property (IP)
    • Non-compete clauses
    • Non-solicitation clauses
  • What to Do If Things Go Wrong
    • “It’s a standard contract”
    • The silent treatment
    • Escalation and ultimatums
  • Summary of Negotiating Tips

Chapter 5 Programming Fundamentals

  • Understanding Binary, Octal, Hexadecimal
    • Converting hexadecimal to binary
    • Using unicode
  • Understanding Data Structures
    • Using arrays
    • Using hash tables
    • Using queues and stacks
    • Using trees
    • Using graphs
    • Understanding graph traversal
  • Sorting
  • Working with Recursion
  • Modeling with Object-Oriented Programming
    • Understanding classes and objects
    • Untangling inheritance and composition
    • Exploring polymorphism
    • Data-hiding with encapsulation
  • Thinking Like a Functional Programmer
  • Understanding SQL
    • What is ACID?
    • Set-based thinking
  • Full-Stack Web Development
  • Decipering Regular Expressions
    • Finding content with anchors and word boundaries
    • Matching character classes
    • Constraining matches with quantifi ers
    • Working with groups and captures
    • Avoiding gotchas
    • More reading
  • Recognizing Hard Problems
  • Questions
  • Answers

Chapter 6 Code Quality

  • Writing Clear Code
  • Writing Expressive Code
  • Measuring Effi ciency and Performance
    • Big-O notation
      • Constant, O(1)
      • Logarithmic, O( log n )
      • Linear, O(n)
      • Quadratic, O(n2)
      • Using big-O
    • Measure performance
    • Consider context
    • Have a goal
    • Measure more than once, take an average
    • Divide and conquer
    • Try the easy things fi rst
    • Use a profi ler
  • Understanding What “Modular” Means
  • Understanding the SOLID principles
    • Single Responsibility Principle
    • Open/Closed Principle
    • Liskov Substitution Principle
    • Interface Segregation Principle
    • Dependency Inversion Principle
  • Avoiding Code Duplication
  • Questions
  • Answers

Chapter 7 The Usual Suspects

  • Concurrent Programming
    • Race conditions
    • Locks
    • Deadlocks
    • Livelocks
  • Relational Databases
    • Database design
    • Normalization
      • First normal form: “No repeated values”
      • Second normal form: “No partial dependencies”
      • Third normal form: “No transitive dependencies”
      • Boyce-Codd normal form
      • Beyond BCNF
    • Denormalization
    • Populating a normalized database
  • Pointers
    • Functions in C receive arguments by value
    • Arrays in C are handled like pointers
    • Passing values and references
  • Design Issues
    • YAGNI is not an excuse to take shortcuts
    • Design for performance
    • Do not trade common sense for a methodology
  • Bad Habits
    • Mishandling exceptions
    • Not being paranoid enough
    • Being superstitious
    • Working against the team
    • Copying and pasting too much
    • Eager loading
  • Questions
  • Answers

Chapter 8 Quirks and Idioms

  • Binary Fractions and Floating Point Numbers
  • Questions
  • JavaScript
  • Questions
  • C#
  • Questions
  • Java
  • Questions
  • Perl
  • Questions
  • Ruby
  • Questions
  • Transact-SQL
  • Questions
  • Answers

Chapter 9 Testing — Not Just for Testers

  • Unit Tests
  • Test-Driven Development
    • Behavior-driven development
    • Red, green, refactor
  • Writing Good Unit Tests
    • Run quickly
    • Be simple
    • Be self-evident
    • Be helpful when failing
    • Be self-contained
  • Testing Slow Things
  • Unit Testing Frameworks
  • Mock Objects
  • Questions
  • Answers

Chapter 10 The Right Tools

  • Exploring Visual Studio
  • Questions
  • Exploiting Command-Line Tools
  • Questions
  • Understanding PowerShell
  • Questions
  • Troubleshooting with Utilities from Sysinternals
  • Questions
  • Managing Source Code
    • Source control with Team Foundation Server
  • Questions
    • Source control with Subversion
  • Questions
    • Source control with git
  • Questions
  • Answers

Chapter 11 Notorious Interview Questions

  • Estimating on the Spot
  • Questions
  • Solving Puzzles and Brain-Teasers
  • Questions
  • Solving Probability Problems
  • Questions
  • Coping with Concurrency
  • Questions
  • Doing Tricks with Bits
  • Questions
  • Devising Recursive Algorithms
  • Questions
  • Understanding Logic Gates
  • Questions
  • Writing Code to…Prove You Can Code
  • Questions
  • Answers

Chapter 12 Programming Wisdom

  • Questions
  • Answers

Appendix Preparing Your Cheat Sheets

  • General and Behavioral
  • Programming, General
  • Programming Concepts
  • Work History
  • Questions to Ask, If Given the Opportunity

Index

Tags: 
2.766395
Average: 2.8 (61 votes)

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within javajee.com!!!