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.

Machine Learning for Hackers


Drew Conway - 2012
    Authors Drew Conway and John Myles White help you understand machine learning and statistics tools through a series of hands-on case studies, instead of a traditional math-heavy presentation.Each chapter focuses on a specific problem in machine learning, such as classification, prediction, optimization, and recommendation. Using the R programming language, you'll learn how to analyze sample datasets and write simple machine learning algorithms. "Machine Learning for Hackers" is ideal for programmers from any background, including business, government, and academic research.Develop a naive Bayesian classifier to determine if an email is spam, based only on its textUse linear regression to predict the number of page views for the top 1,000 websitesLearn optimization techniques by attempting to break a simple letter cipherCompare and contrast U.S. Senators statistically, based on their voting recordsBuild a "whom to follow" recommendation system from Twitter data

Factfulness: Ten Reasons We're Wrong About the World – and Why Things Are Better Than You Think


Hans Rosling - 2018
    So wrong that a chimpanzee choosing answers at random will consistently outguess teachers, journalists, Nobel laureates, and investment bankers.In Factfulness, Professor of International Health and global TED phenomenon Hans Rosling, together with his two long-time collaborators, Anna and Ola, offers a radical new explanation of why this happens. They reveal the ten instincts that distort our perspective—from our tendency to divide the world into two camps (usually some version of us and them) to the way we consume media (where fear rules) to how we perceive progress (believing that most things are getting worse).Our problem is that we don’t know what we don’t know, and even our guesses are informed by unconscious and predictable biases.It turns out that the world, for all its imperfections, is in a much better state than we might think. That doesn’t mean there aren’t real concerns. But when we worry about everything all the time instead of embracing a worldview based on facts, we can lose our ability to focus on the things that threaten us most.Inspiring and revelatory, filled with lively anecdotes and moving stories, Factfulness is an urgent and essential book that will change the way you see the world and empower you to respond to the crises and opportunities of the future.

Bayes Theorem: A Visual Introduction For Beginners


Dan Morris - 2016
    Bayesian statistics is taught in most first-year statistics classes across the nation, but there is one major problem that many students (and others who are interested in the theorem) face. The theorem is not intuitive for most people, and understanding how it works can be a challenge, especially because it is often taught without visual aids. In this guide, we unpack the various components of the theorem and provide a basic overview of how it works - and with illustrations to help. Three scenarios - the flu, breathalyzer tests, and peacekeeping - are used throughout the booklet to teach how problems involving Bayes Theorem can be approached and solved. Over 60 hand-drawn visuals are included throughout to help you work through each problem as you learn by example. The illustrations are simple, hand-drawn, and in black and white. For those interested, we have also included sections typically not found in other beginner guides to Bayes Rule. These include: A short tutorial on how to understand problem scenarios and find P(B), P(A), and P(B|A). For many people, knowing how to approach scenarios and break them apart can be daunting. In this booklet, we provide a quick step-by-step reference on how to confidently understand scenarios.A few examples of how to think like a Bayesian in everyday life. Bayes Rule might seem somewhat abstract, but it can be applied to many areas of life and help you make better decisions. It is a great tool that can help you with critical thinking, problem-solving, and dealing with the gray areas of life. A concise history of Bayes Rule. Bayes Theorem has a fascinating 200+ year history, and we have summed it up for you in this booklet. From its discovery in the 1700’s to its being used to break the German’s Enigma Code during World War 2, its tale is quite phenomenal.Fascinating real-life stories on how Bayes formula is used in everyday life.From search and rescue to spam filtering and driverless cars, Bayes is used in many areas of modern day life. We have summed up 3 examples for you and provided an example of how Bayes could be used.An expanded definitions, notations, and proof section.We have included an expanded definitions and notations sections at the end of the booklet. In this section we define core terms more concretely, and also cover additional terms you might be confused about. A recommended readings section.From The Theory That Would Not Die to a few other books, there are a number of recommendations we have for further reading. Take a look! If you are a visual learner and like to learn by example, this intuitive booklet might be a good fit for you. Bayesian statistics is an incredibly fascinating topic and likely touches your life every single day. It is a very important tool that is used in data analysis throughout a wide-range of industries - so take an easy dive into the theorem for yourself with a visual approach!If you are looking for a short beginners guide packed with visual examples, this booklet is for you.

Design and Analysis of Experiments


Douglas C. Montgomery - 1976
     Douglas Montgomery arms readers with the most effective approach for learning how to design, conduct, and analyze experiments that optimize performance in products and processes. He shows how to use statistically designed experiments to obtain information for characterization and optimization of systems, improve manufacturing processes, and design and develop new processes and products. You will also learn how to evaluate material alternatives in product design, improve the field performance, reliability, and manufacturing aspects of products, and conduct experiments effectively and efficiently. Discover how to improve the quality and efficiency of working systems with this highly-acclaimed book. This 6th Edition: Places a strong focus on the use of the computer, providing output from two software products: Minitab and DesignExpert. Presents timely, new examples as well as expanded coverage on adding runs to a fractional factorial to de-alias effects. Includes detailed discussions on how computers are currently used in the analysis and design of experiments. Offers new material on a number of important topics, including follow-up experimentation and split-plot design. Focuses even more sharply on factorial and fractional factorial design.

Moneyball: The Art of Winning an Unfair Game


Michael Lewis - 2003
    Conventional wisdom long held that big name, highly athletic hitters and young pitchers with rocket arms were the ticket to success. But Beane and his staff, buoyed by massive amounts of carefully interpreted statistical data, believed that wins could be had by more affordable methods such as hitters with high on-base percentage and pitchers who get lots of ground outs. Given this information and a tight budget, Beane defied tradition and his own scouting department to build winning teams of young affordable players and inexpensive castoff veterans. Lewis was in the room with the A's top management as they spent the summer of 2002 adding and subtracting players and he provides outstanding play-by-play. In the June player draft, Beane acquired nearly every prospect he coveted (few of whom were coveted by other teams) and at the July trading deadline he engaged in a tense battle of nerves to acquire a lefty reliever. Besides being one of the most insider accounts ever written about baseball, Moneyball is populated with fascinating characters. We meet Jeremy Brown, an overweight college catcher who most teams project to be a 15th round draft pick (Beane takes him in the first). Sidearm pitcher Chad Bradford is plucked from the White Sox triple-A club to be a key set-up man and catcher Scott Hatteberg is rebuilt as a first baseman. But the most interesting character is Beane himself. A speedy athletic can't-miss prospect who somehow missed, Beane reinvents himself as a front-office guru, relying on players completely unlike, say, Billy Beane. Lewis, one of the top nonfiction writers of his era (Liar's Poker, The New New Thing), offers highly accessible explanations of baseball stats and his roadmap of Beane's economic approach makes Moneyball an appealing reading experience for business people and sports fans alike. --John Moe

Machine Learning with R


Brett Lantz - 2014
    This practical guide that covers all of the need to know topics in a very systematic way. For each machine learning approach, each step in the process is detailed, from preparing the data for analysis to evaluating the results. These steps will build the knowledge you need to apply them to your own data science tasks.Intended for those who want to learn how to use R's machine learning capabilities and gain insight from your data. Perhaps you already know a bit about machine learning, but have never used R; or perhaps you know a little R but are new to machine learning. In either case, this book will get you up and running quickly. It would be helpful to have a bit of familiarity with basic programming concepts, but no prior experience is required.

Fundamental Methods of Mathematical Economics


Alpha C. Chiang - 1974
    The book's patient explanations are written in an informal, non-intimidating style. To underscore the relevance of mathematics to economics, the author allows the economist's analytical needs to motivate the study of related mathematical techniques; he then illustrates these techniques with appropriate economics models. Graphic illustrations often visually reinforce algebraic results. Many exercise problems serve as drills and help bolster student confidence. These major types of economic analysis are covered: statics, comparative statics, optimization problems, dynamics, and mathematical programming. These mathematical methods are introduced: matrix algebra, differential and integral calculus, differential equations, difference equations, and convex sets.

R for Dummies


Joris Meys - 2012
    R is packed with powerful programming capabilities, but learning to use R in the real world can be overwhelming for even the most seasoned statisticians. This easy-to-follow guide explains how to use R for data processing and statistical analysis, and then, shows you how to present your data using compelling and informative graphics. You'll gain practical experience using R in a variety of settings and delve deeper into R's feature-rich toolset.Includes tips for the initial installation of RDemonstrates how to easily perform calculations on vectors, arrays, and lists of dataShows how to effectively visualize data using R's powerful graphics packagesGives pointers on how to find, install, and use add-on packages created by the R communityProvides tips on getting additional help from R mailing lists and websitesWhether you're just starting out with statistical analysis or are a procedural programming pro, "R For Dummies" is the book you need to get the most out of R.

Grokking Algorithms An Illustrated Guide For Programmers and Other Curious People


Aditya Y. Bhargava - 2015
    The algorithms you'll use most often as a programmer have already been discovered, tested, and proven. If you want to take a hard pass on Knuth's brilliant but impenetrable theories and the dense multi-page proofs you'll find in most textbooks, this is the book for you. This fully-illustrated and engaging guide makes it easy for you to learn how to use algorithms effectively in your own programs.Grokking Algorithms is a disarming take on a core computer science topic. In it, you'll learn how to apply common algorithms to the practical problems you face in day-to-day life as a programmer. You'll start with problems like sorting and searching. As you build up your skills in thinking algorithmically, you'll tackle more complex concerns such as data compression or artificial intelligence. Whether you're writing business software, video games, mobile apps, or system utilities, you'll learn algorithmic techniques for solving problems that you thought were out of your grasp. For example, you'll be able to:Write a spell checker using graph algorithmsUnderstand how data compression works using Huffman codingIdentify problems that take too long to solve with naive algorithms, and attack them with algorithms that give you an approximate answer insteadEach carefully-presented example includes helpful diagrams and fully-annotated code samples in Python. By the end of this book, you will know some of the most widely applicable algorithms as well as how and when to use them.

Algorithms to Live By: The Computer Science of Human Decisions


Brian Christian - 2016
    What should we do, or leave undone, in a day or a lifetime? How much messiness should we accept? What balance of new activities and familiar favorites is the most fulfilling? These may seem like uniquely human quandaries, but they are not: computers, too, face the same constraints, so computer scientists have been grappling with their version of such issues for decades. And the solutions they've found have much to teach us.In a dazzlingly interdisciplinary work, acclaimed author Brian Christian and cognitive scientist Tom Griffiths show how the algorithms used by computers can also untangle very human questions. They explain how to have better hunches and when to leave things to chance, how to deal with overwhelming choices and how best to connect with others. From finding a spouse to finding a parking spot, from organizing one's inbox to understanding the workings of memory, Algorithms to Live By transforms the wisdom of computer science into strategies for human living.

Microeconomics: Principles, Problems, and Policies


Campbell R. McConnell - 1989
    The 17th Edition builds upon the tradition of leadership by sticking to 3 main goals: help the beginning student master the principles essential for understanding the economizing problem, specific economic issues, and the policy alternatives; help the student understand and apply the economic perspective and reason accurately and objectively about economic matters; and promote a lasting student interest in economics and the economy.

Statistical Methods for the Social Sciences


Alan Agresti - 1986
    No previous knowledge of statistics is assumed, and mathematical background is assumed to be minimal (lowest-level high-school algebra). This text may be used in a one or two course sequence. Such sequences are commonly required of social science graduate students in sociology, political science, and psychology. Students in geography, anthropology, journalism, and speech also are sometimes required to take at least one statistics course.

Advanced Macroeconomics


David Romer - 1995
    A series of formal models are used to present and analyze important macroeconomic theories. The theories are supplemented by examples of relevant empirical work, which illustrate the ways that theories can be applied and tested. This well-respected and well-known text is unique in the marketplace.

Introduction to Machine Learning with Python: A Guide for Data Scientists


Andreas C. Müller - 2015
    If you use Python, even as a beginner, this book will teach you practical ways to build your own machine learning solutions. With all the data available today, machine learning applications are limited only by your imagination.You'll learn the steps necessary to create a successful machine-learning application with Python and the scikit-learn library. Authors Andreas Muller and Sarah Guido focus on the practical aspects of using machine learning algorithms, rather than the math behind them. Familiarity with the NumPy and matplotlib libraries will help you get even more from this book.With this book, you'll learn:Fundamental concepts and applications of machine learningAdvantages and shortcomings of widely used machine learning algorithmsHow to represent data processed by machine learning, including which data aspects to focus onAdvanced methods for model evaluation and parameter tuningThe concept of pipelines for chaining models and encapsulating your workflowMethods for working with text data, including text-specific processing techniquesSuggestions for improving your machine learning and data science skills