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.

Statistics Done Wrong: The Woefully Complete Guide


Alex Reinhart - 2013
    Politicians and marketers present shoddy evidence for dubious claims all the time. But smart people make mistakes too, and when it comes to statistics, plenty of otherwise great scientists--yes, even those published in peer-reviewed journals--are doing statistics wrong."Statistics Done Wrong" comes to the rescue with cautionary tales of all-too-common statistical fallacies. It'll help you see where and why researchers often go wrong and teach you the best practices for avoiding their mistakes.In this book, you'll learn: - Why "statistically significant" doesn't necessarily imply practical significance- Ideas behind hypothesis testing and regression analysis, and common misinterpretations of those ideas- How and how not to ask questions, design experiments, and work with data- Why many studies have too little data to detect what they're looking for-and, surprisingly, why this means published results are often overestimates- Why false positives are much more common than "significant at the 5% level" would suggestBy walking through colorful examples of statistics gone awry, the book offers approachable lessons on proper methodology, and each chapter ends with pro tips for practicing scientists and statisticians. No matter what your level of experience, "Statistics Done Wrong" will teach you how to be a better analyst, data scientist, or researcher.

University Physics with Modern Physics


Hugh D. Young - 1949
    Offering time-tested problems, conceptual and visual pedagogy, and a state-of-the-art media package, this 11th edition looks to the future of university physics, in terms of both content and approach.

R for Data Science: Import, Tidy, Transform, Visualize, and Model Data


Hadley Wickham - 2016
    This book introduces you to R, RStudio, and the tidyverse, a collection of R packages designed to work together to make data science fast, fluent, and fun. Suitable for readers with no previous programming experience, R for Data Science is designed to get you doing data science as quickly as possible. Authors Hadley Wickham and Garrett Grolemund guide you through the steps of importing, wrangling, exploring, and modeling your data and communicating the results. You’ll get a complete, big-picture understanding of the data science cycle, along with basic tools you need to manage the details. Each section of the book is paired with exercises to help you practice what you’ve learned along the way. You’ll learn how to: Wrangle—transform your datasets into a form convenient for analysis Program—learn powerful R tools for solving data problems with greater clarity and ease Explore—examine your data, generate hypotheses, and quickly test them Model—provide a low-dimensional summary that captures true "signals" in your dataset Communicate—learn R Markdown for integrating prose, code, and results

Algebraic Topology


Allen Hatcher - 2001
    This introductory text is suitable for use in a course on the subject or for self-study, featuring broad coverage and a readable exposition, with many examples and exercises. The four main chapters present the basics: fundamental group and covering spaces, homology and cohomology, higher homotopy groups, and homotopy theory generally. The author emphasizes the geometric aspects of the subject, which helps students gain intuition. A unique feature is the inclusion of many optional topics not usually part of a first course due to time constraints: Bockstein and transfer homomorphisms, direct and inverse limits, H-spaces and Hopf algebras, the Brown representability theorem, the James reduced product, the Dold-Thom theorem, and Steenrod squares and powers.

Pro Git


Scott Chacon - 2009
    It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects.A book by Git experts to turn you into a Git expert. Introduces the world of distributed version control Shows how to build a Git development workflow.

Classical Mechanics


Herbert Goldstein - 1950
    KEY TOPICS: This classic book enables readers to make connections between classical and modern physics - an indispensable part of a physicist's education. In this new edition, Beams Medal winner Charles Poole and John Safko have updated the book to include the latest topics, applications, and notation, to reflect today's physics curriculum. They introduce readers to the increasingly important role that nonlinearities play in contemporary applications of classical mechanics. New numerical exercises help readers to develop skills in how to use computer techniques to solve problems in physics. Mathematical techniques are presented in detail so that the book remains fully accessible to readers who have not had an intermediate course in classical mechanics. MARKET: For college instructors and students.

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.

Linear Algebra


Kenneth M. Hoffman - 1971
    Linear Equations; Vector Spaces; Linear Transformations; Polynomials; Determinants; Elementary canonical Forms; Rational and Jordan Forms; Inner Product Spaces; Operators on Inner Product Spaces; Bilinear Forms For all readers interested in linear algebra.

The C++ Programming Language


Bjarne Stroustrup - 1986
    For this special hardcover edition, two new appendixes on locales and standard library exception safety (also available at www.research.att.com/ bs/) have been added. The result is complete, authoritative coverage of the C++ language, its standard library, and key design techniques. Based on the ANSI/ISO C++ standard, The C++ Programming Language provides current and comprehensive coverage of all C++ language features and standard library components. For example:abstract classes as interfaces class hierarchies for object-oriented programming templates as the basis for type-safe generic software exceptions for regular error handling namespaces for modularity in large-scale software run-time type identification for loosely coupled systems the C subset of C++ for C compatibility and system-level work standard containers and algorithms standard strings, I/O streams, and numerics C compatibility, internationalization, and exception safety Bjarne Stroustrup makes C++ even more accessible to those new to the language, while adding advanced information and techniques that even expert C++ programmers will find invaluable.

The Colossal Book of Mathematics


Martin Gardner - 2001
    Gardner's array of absorbing puzzles and mind-twisting paradoxes opens mathematics up to the world at large, inspiring people to see past numbers and formulas and experience the application of mathematical principles to the mysterious world around them. With articles on topics ranging from simple algebra to the twisting surfaces of Mobius strips, from an endless game of Bulgarian solitaire to the unreachable dream of time travel, this volume comprises a substantial and definitive monument to Gardner's influence on mathematics, science, and culture.In its twelve sections, The Colossal Book of Math explores a wide range of areas, each startlingly illuminated by Gardner's incisive expertise. Beginning with seemingly simple topics, Gardner expertly guides us through complicated and wondrous worlds: by way of basic algebra we contemplate the mesmerizing, often hilarious, linguistic and numerical possibilities of palindromes; using simple geometry, he dissects the principles of symmetry upon which the renowned mathematical artist M. C. Escher constructs his unique, dizzying universe. Gardner, like few thinkers today, melds a rigorous scientific skepticism with a profound artistic and imaginative impulse. His stunning exploration of "The Church of the Fourth Dimension," for example, bridges the disparate worlds of religion and science by brilliantly imagining the spatial possibility of God's presence in the world as a fourth dimension, at once "everywhere and nowhere."With boundless wisdom and his trademark wit, Gardner allows the reader to further engage challenging topics like probability and game theory which have plagued clever gamblers, and famous mathematicians, for centuries. Whether debunking Pascal's wager with basic probability, making visual music with fractals, or uncoiling a "knotted doughnut" with introductory topology, Gardner continuously displays his fierce intelligence and gentle humor. His articles confront both the comfortingly mundane—"Generalized Ticktacktoe" and "Sprouts and Brussel Sprouts"—and the quakingly abstract—"Hexaflexagons," "Nothing," and "Everything." He navigates these staggeringly obscure topics with a deft intelligence and, with addendums and suggested reading lists, he informs these classic articles with new insight.Admired by scientists and mathematicians, writers and readers alike, Gardner's vast knowledge and burning curiosity reveal themselves on every page. The culmination of a lifelong devotion to the wonders of mathematics, The Colossal Book of Mathematics is the largest and most comprehensive math book ever assembled by Gardner and remains an indispensable volume for the amateur and expert alike.

MAKE: Electronics: Learning Through Discovery


Charles Platt - 2008
    I also love the sense of humor. It's very good at disarming the fear. And it's gorgeous. I'll be recommending this book highly." --Tom Igoe, author of Physical Computing and Making Things TalkWant to learn the fundamentals of electronics in a fun, hands-on way? With Make: Electronics, you'll start working on real projects as soon as you crack open the book. Explore all of the key components and essential principles through a series of fascinating experiments. You'll build the circuits first, then learn the theory behind them!Build working devices, from simple to complex You'll start with the basics and then move on to more complicated projects. Go from switching circuits to integrated circuits, and from simple alarms to programmable microcontrollers. Step-by-step instructions and more than 500 full-color photographs and illustrations will help you use -- and understand -- electronics concepts and techniques.Discover by breaking things: experiment with components and learn from failureSet up a tricked-out project space: make a work area at home, equipped with the tools and parts you'll needLearn about key electronic components and their functions within a circuitCreate an intrusion alarm, holiday lights, wearable electronic jewelry, audio processors, a reflex tester, and a combination lockBuild an autonomous robot cart that can sense its environment and avoid obstaclesGet clear, easy-to-understand explanations of what you're doing and why

The Haskell Road to Logic, Maths and Programming


Kees Doets - 2004
    Haskell emerged in the last decade as a standard for lazy functional programming, a programming style where arguments are evaluated only when the value is actually needed. Haskell is a marvellous demonstration tool for logic and maths because its functional character allows implementations to remain very close to the concepts that get implemented, while the laziness permits smooth handling of infinite data structures.This book does not assume the reader to have previous experience with either programming or construction of formal proofs, but acquaintance with mathematical notation, at the level of secondary school mathematics is presumed. Everything one needs to know about mathematical reasoning or programming is explained as we go along. After proper digestion of the material in this book the reader will be able to write interesting programs, reason about their correctness, and document them in a clear fashion. The reader will also have learned how to set up mathematical proofs in a structured way, and how to read and digest mathematical proofs written by others.

Differential Equations


Richard Bronson - 2010
    This supplement will cater to the requirements of students by covering all important topics of Laplace transformation, Matrices, Numerical Methods. Further enhanced is its usability by inclusion of chapter end questions in sync with student needs. Table of contents: 1. Basic Concepts 2. An Introduction to Modeling and Qualitative Methods 3. Classification of First-Order Differential Equations 4. Separable First-Order Differential Equations 5. Exact First-order Differential Equations 6. Linear First-Order Differential Equations 7. Applications of First-Order Differential Equations 8. Linear Differential Equations: Theory of Solutions 9. Second-Order Linear Homogeneous Differential Equations with Constant Coefficients 10. nth-Order Linear Homogeneous Differential Equations with Constant Coefficients 11. The Method of Undetermined Coefficients 12. Variation of Parameters 13. Initial-Value Problems for Linear Differential Equations 14. Applications of Second-Order Linear Differential Equations 15. Matrices 16. eAt 17. Reduction of Linear Differential Equations to a System of First-Order Equations 18. Existence and Uniqueness of Solutions 19. Graphical and Numerical Methods for Solving First-Order Differential Equations 20. Further Numerical Methods for Solving First-Order Differential Equations 21. Numerical Methods for Solving Second-Order Differential Equations Via Systems 22. The Laplace Transform 23. Inverse Laplace Transforms 24. Convolutions and the Unit Step Function 25. Solutions of Linear Differential Equations with Constant Coefficients by Laplace Transforms 26. Solutions of Linear?Systems by Laplace Transforms 27. Solutions of Linear Differential Equations with Constant Coefficients by Matrix Methods 28. Power Series Solutions of Linear Differential Equations with Variable Coefficients 29. Special Functions 30. Series Solutions N

Numerical Linear Algebra


Lloyd N. Trefethen - 1997
    The clarity and eloquence of the presentation make it popular with teachers and students alike. The text aims to expand the reader's view of the field and to present standard material in a novel way. All of the most important topics in the field are covered with a fresh perspective, including iterative methods for systems of equations and eigenvalue problems and the underlying principles of conditioning and stability. Presentation is in the form of 40 lectures, which each focus on one or two central ideas. The unity between topics is emphasized throughout, with no risk of getting lost in details and technicalities. The book breaks with tradition by beginning with the QR factorization - an important and fresh idea for students, and the thread that connects most of the algorithms of numerical linear algebra.