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.

Baseball Between the Numbers: Why Everything You Know About the Game Is Wrong


Jonah Keri - 2006
    Properly understood, they can tell us how the teams we root for could employ better strategies, put more effective players on the field, and win more games. The revolution in baseball statistics that began in the 1970s is a controversial subject that professionals and fans alike argue over without end. Despite this fundamental change in the way we watch and understand the sport, no one has written the book that reveals, across every area of strategy and management, how the best practitioners of statistical analysis in baseball-people like Bill James, Billy Beane, and Theo Epstein-think about numbers and the game. Baseball Between the Numbers is that book. In separate chapters covering every aspect of the game, from hitting, pitching, and fielding to roster construction and the scouting and drafting of players, the experts at Baseball Prospectus examine the subtle, hidden aspects of the game, bring them out into the open, and show us how our favorite teams could win more games. This is a book that every fan, every follower of sports radio, every fantasy player, every coach, and every player, at every level, can learn from and enjoy.

The Elements of Computing Systems: Building a Modern Computer from First Principles


Noam Nisan - 2005
    The books also provides a companion web site that provides the toold and materials necessary to build the hardware and software.

My Brain is Open: The Mathematical Journeys of Paul Erdős


Bruce Schechter - 1998
    Hungarian-born Erdős believed that the meaning of life was to prove and conjecture. His work in the United States and all over the world has earned him the titles of the century's leading number theorist and the most prolific mathematician who ever lived. Erdős's important work has proved pivotal to the development of computer science, and his unique personality makes him an unforgettable character in the world of mathematics. Incapable of the smallest of household tasks and having no permanent home or job, he was sustained by the generosity of colleagues and by his own belief in the beauty of numbers. Witty and filled with the sort of mathematical puzzles that intrigued Erdős and continue to fascinate mathematicians today, My Brain Is Open is the story of this strange genius and a journey in his footsteps through the world of mathematics, where universal truths await discovery like hidden treasures and where brilliant proofs are poetry.

Beautiful Code: Leading Programmers Explain How They Think


Andy OramLincoln Stein - 2007
    You will be able to look over the shoulder of major coding and design experts to see problems through their eyes.This is not simply another design patterns book, or another software engineering treatise on the right and wrong way to do things. The authors think aloud as they work through their project's architecture, the tradeoffs made in its construction, and when it was important to break rules. Beautiful Code is an opportunity for master coders to tell their story. All author royalties will be donated to Amnesty International.

Discrete Mathematics


Richard Johnsonbaugh - 1984
    Focused on helping students understand and construct proofs and expanding their mathematical maturity, this best-selling text is an accessible introduction to discrete mathematics. Johnsonbaugh's algorithmic approach emphasizes problem-solving techniques. The Seventh Edition reflects user and reviewer feedback on both content and organization.

Zeno's Paradox: Unraveling the Ancient Mystery Behind the Science of Space and Time


Joseph Mazur - 2008
    Today, these paradoxes remain on the cutting edge of our investigations into the fabric of space and time. Zeno's Paradox uses the motion paradox as a jumping-off point for an exploration of the twenty-five-hundred-year quest to uncover the true nature of the universe. From Galileo to Einstein to Stephen Hawking, some of the greatest minds in history have tackled the problem and made spectacular breakthroughs, but through it all, the paradox of motion remains.

Where Is My Flying Car?: A Memoir of Future Past


J. Storrs Hall - 2018
    Were the futurists and SF writers of the day just wrong? Or has something more interesting and important happened? Will we ever get flying cars? This book offers a compelling analysis of the past and a surprising view of the future.

Boltzmanns Atom: The Great Debate That Launched a Revolution in Physics


David Lindley - 2001
    Before this explosive growth into the modern age took place, an all-but-forgotten genius strove for forty years to win acceptance for the atomic theory of matter and an altogether new way of doing physics. Ludwig Boltz-mann battled with philosophers, the scientific establishment, and his own potent demons. His victory led the way to the greatest scientific achievements of the twentieth century. Now acclaimed science writer David Lindley portrays the dramatic story of Boltzmann and his embrace of the atom, while providing a window on the civilized world that gave birth to our scientific era. Boltzmann emerges as an endearingly quixotic character, passionately inspired by Beethoven, who muddled through the practical matters of life in a European gilded age. Boltzmann's story reaches from fin de siecle Vienna, across Germany and Britain, to America. As the Habsburg Empire was crumbling, Germany's intellectual might was growing; Edinburgh in Scotland was one of the most intellectually fertile places on earth; and, in America, brilliant independent minds were beginning to draw on the best ideas of the bureaucratized old world.Boltzmann's nemesis in the field of theoretical physics at home in Austria was Ernst Mach, noted today in the term Mach I, the speed of sound. Mach believed physics should address only that which could be directly observed. How could we know that frisky atoms jiggling about corresponded to heat if we couldn't see them? Why should we bother with theories that only told us what would probably happen, rather than making an absolute prediction? Mach and Boltzmann both believed in the power of science, but their approaches to physics could not have been more opposed. Boltzmann sought to explain the real world, and cast aside any philosophical criteria. Mach, along with many nineteenth-century scientists, wanted to construct an empirical edifice of absolute truths that obeyed strict philosophical rules. Boltzmann did not get on well with authority in any form, and he did his best work at arm's length from it. When at the end of his career he engaged with the philosophical authorities in the Viennese academy, the results were personally disastrous and tragic. Yet Boltzmann's enduring legacy lives on in the new physics and technology of our wired world.Lindley's elegant telling of this tale combines the detailed breadth of the best history, the beauty of theoretical physics, and the psychological insight belonging to the finest of novels.

How to Study for a Mathematics Degree


Lara Alcock - 2012
    Many of these students are extremely intelligent and hardworking, but even the best will, at some point, struggle with the demands of making the transition to advanced mathematics. Some have difficulty adjusting to independent study and to learning from lectures. Other struggles, however, are more fundamental: the mathematics shifts in focus from calculation to proof, so students are expected to interact with it in different ways. These changes need not be mysterious - mathematics education research has revealed many insights into the adjustments that are necessary - but they are not obvious and they do need explaining.This no-nonsense book translates these research-based insights into practical advice for a student audience. It covers every aspect of studying for a mathematics degree, from the most abstract intellectual challenges to the everyday business of interacting with lecturers and making good use of study time. Part 1 provides an in-depth discussion of advanced mathematical thinking, and explains how a student will need to adapt and extend their existing skills in order to develop a good understanding of undergraduate mathematics. Part 2 covers study skills as these relate to the demands of a mathematics degree. It suggests practical approaches to learning from lectures and to studying for examinations while also allowing time for a fulfilling all-round university experience.The first subject-specific guide for students, this friendly, practical text will be essential reading for anyone studying mathematics at university.

Elements of the Theory of Computation


Harry R. Lewis - 1981
    The authors are well-known for their clear presentation that makes the material accessible to a a broad audience and requires no special previous mathematical experience. KEY TOPICS: In this new edition, the authors incorporate a somewhat more informal, friendly writing style to present both classical and contemporary theories of computation. Algorithms, complexity analysis, and algorithmic ideas are introduced informally in Chapter 1, and are pursued throughout the book. Each section is followed by problems.

Music, Language, and the Brain


Aniruddh D. Patel - 2007
    Patel challenges the widespread belief that music and language are processed independently. Since Plato's time, the relationship between music and language has attracted interest and debate from a wide range of thinkers. Recently, scientific research on this topic has been growing rapidly, as scholars from diverse disciplines, including linguistics, cognitive science, music cognition, and neuroscience are drawn to the music-language interface as one way to explore the extent to which different mental abilities are processed by separate brain mechanisms. Accordingly, the relevant data and theories have been spread across a range of disciplines. This volume provides the first synthesis, arguing that music and language share deep and critical connections, and that comparative research provides a powerful way to study the cognitive and neural mechanisms underlying these uniquely human abilities.Winner of the 2008 ASCAP Deems Taylor Award.

The Formula: How Algorithms Solve all our Problems … and Create More


Luke Dormehl - 2014
    What if everything in life could be reduced to a simple formula? What if numbers were able to tell us which partners we were best matched with – not just in terms of attractiveness, but for a long-term committed marriage? Or if they could say which films would be the biggest hits at the box office, and what changes could be made to those films to make them even more successful? Or even who out of us is likely to commit certain crimes, and when? This may sound like the world of science-fiction, but in fact it is just the tip of the iceberg in a world that is increasingly ruled by complex algorithms and neural networks.In The Formula, Luke Dormehl takes you inside the world of numbers, asking how we came to believe in the all-conquering power of algorithms; introducing the mathematicians, artificial intelligence experts and Silicon Valley entrepreneurs who are shaping this brave new world, and ultimately asking how we survive in an era where numbers can sometimes seem to create as many problems as they solve.

Technically Wrong: Sexist Apps, Biased Algorithms, and Other Threats of Toxic Tech


Sara Wachter-Boettcher - 2017
    But few of us realize just how many oversights, biases, and downright ethical nightmares are baked inside the tech products we use every day. It’s time we change that.In Technically Wrong, Sara Wachter-Boettcher demystifies the tech industry, leaving those of us on the other side of the screen better prepared to make informed choices about the services we use—and to demand more from the companies behind them.

A Mind at Play: How Claude Shannon Invented the Information Age


Jimmy Soni - 2017
    He constructed a fleet of customized unicycles and a flamethrowing trumpet, outfoxed Vegas casinos, and built juggling robots. He also wrote the seminal text of the digital revolution, which has been called “the Magna Carta of the Information Age.” His discoveries would lead contemporaries to compare him to Albert Einstein and Isaac Newton. His work anticipated by decades the world we’d be living in today—and gave mathematicians and engineers the tools to bring that world to pass.In this elegantly written, exhaustively researched biography, Jimmy Soni and Rob Goodman reveal Claude Shannon’s full story for the first time. It’s the story of a small-town Michigan boy whose career stretched from the era of room-sized computers powered by gears and string to the age of Apple. It’s the story of the origins of our digital world in the tunnels of MIT and the “idea factory” of Bell Labs, in the “scientists’ war” with Nazi Germany, and in the work of Shannon’s collaborators and rivals, thinkers like Alan Turing, John von Neumann, Vannevar Bush, and Norbert Wiener.And it’s the story of Shannon’s life as an often reclusive, always playful genius. With access to Shannon’s family and friends, A Mind at Play brings this singular innovator and creative genius to life.