Cracking the Coding Interview: 150 Programming Questions and Solutions


Gayle Laakmann McDowell - 2008
    This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice.The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be evaluated. What happens when you get a question wrong? When should you start preparing, and how? What language should you use? All these questions and more are answered.Behind the ScenesLearn what happens behind the scenes during your interview, how decisions really get made, who you interview with, and what they ask you. Companies covered include Google, Amazon, Yahoo, Microsoft, Apple and Facebook.Special SituationsThis section explains the process for experience candidates, Program Managers, Dev Managers, Testers / SDETs, and more. Learn what your interviewers are looking for and how much code you need to know.Before the InterviewIn order to ace the interview, you first need to get an interview. This section describes what a software engineer's resume should look like and what you should be doing well before your interview.Behavioral PreparationAlthough most of a software engineering interview will be technical, behavioral questions matter too. This section covers how to prepare for behavioral questions and how to give strong, structured responses.Technical Questions (+ 5 Algorithm Approaches)This section covers how to prepare for technical questions (without wasting your time) and teaches actionable ways to solve the trickiest algorithm problems. It also teaches you what exactly "good coding" is when it comes to an interview.150 Programming Questions and AnswersThis section forms the bulk of the book. Each section opens with a discussion of the core knowledge and strategies to tackle this type of question, diving into exactly how you break down and solve it. Topics covered include• Arrays and Strings• Linked Lists• Stacks and Queues• Trees and Graphs• Bit Manipulation• Brain Teasers• Mathematics and Probability• Object-Oriented Design• Recursion and Dynamic Programming• Sorting and Searching• Scalability and Memory Limits• Testing• C and C++• Java• Databases• Threads and LocksFor the widest degree of readability, the solutions are almost entirely written with Java (with the exception of C / C++ questions). A link is provided with the book so that you can download, compile, and play with the solutions yourself.Changes from the Fourth Edition: The fifth edition includes over 200 pages of new content, bringing the book from 300 pages to over 500 pages. Major revisions were done to almost every solution, including a number of alternate solutions added. The introductory chapters were massively expanded, as were the opening of each of the chapters under Technical Questions. In addition, 24 new questions were added.Cracking the Coding Interview, Fifth Edition is the most expansive, detailed guide on how to ace your software development / programming interviews.

Energy for Future Presidents: The Science Behind the Headlines


Richard A. Muller - 2012
    citizens that nothing has more impact on our lives than the supply of and demand for energy. Its procurement dominates our economy and foreign policy more than any other factor. But the “energy question” is more confusing, contentious, and complicated than ever before. We need to know if nuclear power will ever really be safe. We need to know if solar and wind power will ever really be viable. And we desperately need to know if the natural gas deposits in Pennsylvania are a windfall of historic proportions or a false hope that will create more problems than solutions. Richard A. Muller provides all the answers in this must-read guide to our energy priorities now and in the coming years.

Think: A Compelling Introduction to Philosophy


Simon Blackburn - 1999
    Written expressly for "anyone who believes there are big questions out there, but does not know how to approach them," Think provides a sound framework for exploring the most basic themes of philosophy, and for understanding how major philosophers have tackled the questions that have pressed themselves most forcefully on human consciousness.

The Nature of Code


Daniel Shiffman - 2012
    Readers will progress from building a basic physics engine to creating intelligent moving objects and complex systems, setting the foundation for further experiments in generative design. Subjects covered include forces, trigonometry, fractals, cellular automata, self-organization, and genetic algorithms. The book's examples are written in Processing, an open-source language and development environment built on top of the Java programming language. On the book's website (http://www.natureofcode.com), the examples run in the browser via Processing's JavaScript mode.

Everything and More: A Compact History of Infinity


David Foster Wallace - 2003
    Now he brings his considerable talents to the history of one of math's most enduring puzzles: the seemingly paradoxical nature of infinity.Is infinity a valid mathematical property or a meaningless abstraction? The nineteenth-century mathematical genius Georg Cantor's answer to this question not only surprised him but also shook the very foundations upon which math had been built. Cantor's counterintuitive discovery of a progression of larger and larger infinities created controversy in his time and may have hastened his mental breakdown, but it also helped lead to the development of set theory, analytic philosophy, and even computer technology.Smart, challenging, and thoroughly rewarding, Wallace's tour de force brings immediate and high-profile recognition to the bizarre and fascinating world of higher mathematics.

Schaum's Outline of College Physics


Frederick J. Bueche - 2006
    Provides a review of introductory noncalculus-based physics for those who do not have a strong background in mathematics.

Are Numbers Real?: The Uncanny Relationship of Mathematics and the Physical World


Brian Clegg - 2016
    In Are Numbers Real?, Brian Clegg explores the way that math has become more and more detached from reality, and yet despite this is driving the development of modern physics. From devising a new counting system based on goats, through the weird and wonderful mathematics of imaginary numbers and infinity, to the debate over whether mathematics has too much influence on the direction of science, this fascinating and accessible book opens the reader’s eyes to the hidden reality of the strange yet familiar entities that are numbers.

Hacking: The Art of Exploitation


Jon Erickson - 2003
    This book explains the technical aspects of hacking, including stack based overflows, heap based overflows, string exploits, return-into-libc, shellcode, and cryptographic attacks on 802.11b.

The Art of Computer Programming, Volume 1: Fundamental Algorithms


Donald Ervin Knuth - 1973
     -Byte, September 1995 I can't begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at home... and even at a Little League game when my son wasn't in the line-up. -Charles Long If you think you're a really good programmer... read [Knuth's] Art of Computer Programming... You should definitely send me a resume if you can read the whole thing. -Bill Gates It's always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers. -Jonathan Laventhol This first volume in the series begins with basic programming concepts and techniques, then focuses more particularly on information structures-the representation of information inside a computer, the structural relationships between data elements and how to deal with them efficiently. Elementary applications are given to simulation, numerical methods, symbolic computing, software and system design. Dozens of simple and important algorithms and techniques have been added to those of the previous edition. The section on mathematical preliminaries has been extensively revised to match present trends in research. Ebook (PDF version) produced by Mathematical Sciences Publishers (MSP), http: //msp.org

Hands-On Machine Learning with Scikit-Learn and TensorFlow


Aurélien Géron - 2017
    Now that machine learning is thriving, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.By using concrete examples, minimal theory, and two production-ready Python frameworks—Scikit-Learn and TensorFlow—author Aurélien Géron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. You’ll learn how to use a range of techniques, starting with simple Linear Regression and progressing to Deep Neural Networks. If you have some programming experience and you’re ready to code a machine learning project, this guide is for you.This hands-on book shows you how to use:Scikit-Learn, an accessible framework that implements many algorithms efficiently and serves as a great machine learning entry pointTensorFlow, a more complex library for distributed numerical computation, ideal for training and running very large neural networksPractical code examples that you can apply without learning excessive machine learning theory or algorithm details

How Apollo Flew to the Moon


W. David Woods - 2007
    This fascinating book traces what was a massive accomplishment right from the early launches through manned orbital spaceflights, detailing each step. Out of the battlefields of World War II came the gifted German engineers and designers who developed the V-2 rocket, which evolved into the powerful Saturn V booster that propelled men to the Moon. David Woods tells this exciting story, starting from America 's postwar astronautical research facilities. The techniques and procedures developed have been recognised as an example of human exploration at its greatest, demonstrating a peak of technological excellence.

The Cartoon Guide to Statistics


Larry Gonick - 1993
    Never again will you order the Poisson Distribution in a French restaurant!This updated version features all new material.

Organic Chemistry I for Dummies


Arthur Winter - 2005
    This book is an easy-to-understand and fun reference to this challenging subject. It explains the principles of organic chemistry in simple terms and includes worked-out problems to help readers get up to speed on the basics.

Modern Compressible Flow: With Historical Perspective


John D. Anderson Jr. - 1981
    In keeping with previous versions, the 3rd edition uses numerous historical vignettes that show the evolution of the field. New pedagogical features--"Roadmaps" showing the development of a given topic, and "Design Boxes" giving examples of design decisions--will make the 3rd edition even more practical and user-friendly than before. The 3rd edition strikes a careful balance between classical methods of determining compressible flow, and modern numerical and computer techniques (such as CFD) now used widely in industry & research. A new Book Website will contain all problem solutions for instructors.

The Quantum Universe: Everything That Can Happen Does Happen


Brian Cox - 2011
    Cox and Forshaw's contention? There is no need for quantum mechanics to be viewed this way. There is a lot of mileage in the 'weirdness' of the quantum world, and it often leads to confusion and, frankly, bad science. The Quantum Universe cuts through the Wu Li and asks what observations of the natural world made it necessary, how it was constructed, and why we are confident that, for all its apparent strangeness, it is a good theory.The quantum mechanics of The Quantum Universe provide a concrete model of nature that is comparable in its essence to Newton’s laws of motion, Maxwell’s theory of electricity and magnetism, and Einstein’s theory of relativity.