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.

Architecting for the AWS Cloud: Best Practices (AWS Whitepaper)


Amazon We Services - 2016
    It discusses cloud concepts and highlights various design patterns and best practices. This documentation is offered for free here as a Kindle book, or you can read it in PDF format at https://aws.amazon.com/whitepapers/.

Gut Feelings: The Intelligence of the Unconscious


Gerd Gigerenzer - 2007
    Gladwell showed us how snap decisions often yield better results than careful analysis. Now, Gigerenzer explains why our intuition is such a powerful decision-making tool. Drawing on a decade of research at the Max Plank Institute, Gigerenzer demonstrates that our gut feelings are actually the result of unconscious mental processes—processes that apply rules of thumb that we’ve derived from our environment and prior experiences. The value of these unconscious rules lies precisely in their difference from rational analysis—they take into account only the most useful bits of information rather than attempting to evaluate all possible factors. By examining various decisions we make—how we choose a spouse, a stock, a medical procedure, or the answer to a million-dollar game show question—Gigerenzer shows how gut feelings not only lead to good practical decisions, but also underlie the moral choices that make our society function. In the tradition of Blink and Freakonomics, Gut Feelings is an exploration of the myriad influences and factors (nature and nurture) that affect how the mind works, grounded in cutting-edge research and conveyed through compelling real-life examples.

Drugs, Behavior and Modern Society


Charles F. Levinthal - 1995
    Drugs, Behavior, and Modern Society, 6/e, examines the impact of drug-taking behavior on our society and our daily lives.  The use and abuse of a wide range of licit and illicit drugs are discussed from historical, biological, psychological, and sociological perspectives.  The use of Drugs in our lives and drug-taking behavior, legally restricted drugs in our society, legal drugs in our society, medicinal drugs, treatment, prevention, and education.  Forstudents, or people working with drug related topics in the fields of psychology and health.

Language: The Cultural Tool


Daniel L. Everett - 2012
    But linguist Daniel Everett argues that, like other tools, language was invented by humans and can be reinvented or lost. He shows how the evolution of different language forms—that is, different grammar—reflects how language is influenced by human societies and experiences, and how it expresses their great variety.  For example, the Amazonian Pirahã put words together in ways that violate our long-held under-standing of how language works, and Pirahã grammar expresses complex ideas very differently than English grammar does. Drawing on the Wari’ language of Brazil, Everett explains that speakers of all languages, in constructing their stories, omit things that all members of the culture understand. In addition, Everett discusses how some cultures can get by without words for numbers or counting, without verbs for “to say” or “to give,” illustrating how the very nature of what’s important in a language is culturally determined. Combining anthropology, primatology, computer science, philosophy, linguistics, psychology, and his own pioneering—and adventurous—research with the Amazonian Pirahã, and using insights from many different languages and cultures, Everett gives us an unprecedented elucidation of this society-defined nature of language. In doing so, he also gives us a new understanding of how we think and who we are.

Data Smart: Using Data Science to Transform Information into Insight


John W. Foreman - 2013
    Major retailers are predicting everything from when their customers are pregnant to when they want a new pair of Chuck Taylors. It's a brave new world where seemingly meaningless data can be transformed into valuable insight to drive smart business decisions.But how does one exactly do data science? Do you have to hire one of these priests of the dark arts, the "data scientist," to extract this gold from your data? Nope.Data science is little more than using straight-forward steps to process raw data into actionable insight. And in Data Smart, author and data scientist John Foreman will show you how that's done within the familiar environment of a spreadsheet. Why a spreadsheet? It's comfortable! You get to look at the data every step of the way, building confidence as you learn the tricks of the trade. Plus, spreadsheets are a vendor-neutral place to learn data science without the hype. But don't let the Excel sheets fool you. This is a book for those serious about learning the analytic techniques, the math and the magic, behind big data.Each chapter will cover a different technique in a spreadsheet so you can follow along: - Mathematical optimization, including non-linear programming and genetic algorithms- Clustering via k-means, spherical k-means, and graph modularity- Data mining in graphs, such as outlier detection- Supervised AI through logistic regression, ensemble models, and bag-of-words models- Forecasting, seasonal adjustments, and prediction intervals through monte carlo simulation- Moving from spreadsheets into the R programming languageYou get your hands dirty as you work alongside John through each technique. But never fear, the topics are readily applicable and the author laces humor throughout. You'll even learn what a dead squirrel has to do with optimization modeling, which you no doubt are dying to know.

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

The Sciences of the Artificial


Herbert A. Simon - 1969
    There are updates throughout the book as well. These take into account important advances in cognitive psychology and the science of design while confirming and extending the book's basic thesis: that a physical symbol system has the necessary and sufficient means for intelligent action. The chapter "Economic Reality" has also been revised to reflect a change in emphasis in Simon's thinking about the respective roles of organizations and markets in economic systems."People sometimes ask me what they should read to find out about artificial intelligence. Herbert Simon's book The Sciences of the Artificial is always on the list I give them. Every page issues a challenge to conventional thinking, and the layman who digests it well will certainly understand what the field of artificial intelligence hopes to accomplish. I recommend it in the same spirit that I recommend Freud to people who ask about psychoanalysis, or Piaget to those who ask about child psychology: If you want to learn about a subject, start by reading its founding fathers." -- George A. Miller

One Page Talent Management: Eliminating Complexity, Adding Value


Marc Effron - 2010
    You also know what it takes to build that talent—and you spend significant financial and human resources to make it happen. Yet somehow, your company’s beautifully designed and well-benchmarked processes don’t translate into the bottom-line talent depth you need. Why?Talent management experts Marc Effron and Miriam Ort argue that companies unwittingly add layers of complexity to their talent building models—without evaluating whether those components add any value to the overall process. Consequently, simple processes like setting employee performance goals become multi-page, headache-inducing time-wasters that turn managers off to the whole process and fail to improve results.In this revolutionary book, Effron and Ort introduce One Page Talent Management (OPTM): a powerfully simple approach that significantly accelerates a company’s ability to develop better leaders faster. The authors outline a straightforward, easy-to-use process for designing results-oriented OPTM processes: base every process on proven scientific research; eliminate complexity by including only those components that add real value to the process; and build transparency and accountability into every practice.Based on extensive research and the authors’ hands-on corporate and consulting experience with companies including Avon Products, Bank of America, and Philips, One Page Talent Management shows how to:• Quickly identify high potential talent without complex assessments• Increase the number of “ready now” successors for key roles• Generate 360 feedback that accelerates change in the most critical behaviors• Significantly reduce the time required for managers to implement talent processes• Enforce accountability for growing talent through corporate culture, compensation, etc.A radical new approach to growing talent, One Page Talent Management trades complexity and bureaucracy for simplicity and a relentless focus on adding value to create the high-quality talent you need—right now.

Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability


Steve Krug - 2000
    And it’s still short, profusely illustrated…and best of all–fun to read.If you’ve read it before, you’ll rediscover what made Don’t Make Me Think so essential to Web designers and developers around the world. If you’ve never read it, you’ll see why so many people have said it should be required reading for anyone working on Web sites.

The Complete Idiot's Guide to Game Theory


Edward C. Rosenthal - 2005
    It is based on the idea that everyone acts competitively and in his own best interest. With the help of mathematical models, it is possible to anticipate the actions of others in nearly all life's enterprises. This book includes down-to-earth examples and solutions, as well as charts and illustrations designed to help teach the concept. In The Complete Idiot's Guide® to Game Theory, Dr. Edward C. Rosenthal makes it easy to understand game theory with insights into:? The history of the disciple made popular by John Nash, the mathematician dramatized in the film A Beautiful Mind? The role of social behavior and psychology in this amazing discipline? How important game theory has become in our society and why

The Innovator's DNA: Mastering the Five Skills of Disruptive Innovators


Jeffrey H. Dyer - 2011
    This innovation advantage will translate into a premium in your company’s stock price—an innovation premium—which is possible only by building the code for innovation right into your organization’s people, processes, and guiding philosophies.Practical and provocative, The Innovator’s DNA is an essential resource for individuals and teams who want to strengthen their innovative prowess.

Abnormal Psychology: Clinical Perspectives on Psychological Disorders


Richard P. Halgin - 1998
    In Richard Halgin and Susan Krauss Whitbourne’s Abnormal Psychology: Clinical Perspectives on Psychological Disorders, students are shown the human side of Abnormal Psychology. Through the wide

Pragmatic Thinking and Learning: Refactor Your Wetware


Andy Hunt - 2008
    Not in an editor, IDE, or design tool. You're well educated on how to work with software and hardware, but what about wetware--our own brains? Learning new skills and new technology is critical to your career, and it's all in your head. In this book by Andy Hunt, you'll learn how our brains are wired, and how to take advantage of your brain's architecture. You'll learn new tricks and tips to learn more, faster, and retain more of what you learn. You need a pragmatic approach to thinking and learning. You need to Refactor Your Wetware. Programmers have to learn constantly; not just the stereotypical new technologies, but also the problem domain of the application, the whims of the user community, the quirks of your teammates, the shifting sands of the industry, and the evolving characteristics of the project itself as it is built. We'll journey together through bits of cognitive and neuroscience, learning and behavioral theory. You'll see some surprising aspects of how our brains work, and how you can take advantage of the system to improve your own learning and thinking skills.In this book you'll learn how to:Use the Dreyfus Model of Skill Acquisition to become more expertLeverage the architecture of the brain to strengthen different thinking modesAvoid common "known bugs" in your mindLearn more deliberately and more effectivelyManage knowledge more efficientlyPrinted in full color.

Introductory Readings


Aristotle - 1996
    "Introductory Readings" provides accurate, readable, and integrated translations that allow the reader to follow Aristotle's use of crucial technical terms and to grasp the details of his argument. Included are adaptations of the glossary and notes that helped make its parent volume a singularly useful aid to the study of Aristotle.