System Design Interview – An Insider's Guide
Alex Xu - 2020
This book provides a step-by-step framework on how to tackle a system design question. It includes many real-world examples to illustrate the systematic approach with detailed steps that you can follow.What’s inside?- An insider’s take on what interviewers really look for and why.- A 4-step framework for solving any system design interview question.- 15 real system design interview questions with detailed solutions.- 188 diagrams to visually explain how different systems work.Table Of ContentsChapter 1: Scale From Zero To Millions Of UsersChapter 2: Back-of-the-envelope EstimationChapter 3: A Framework For System Design InterviewsChapter 4: Design A Rate LimiterChapter 5: Design Consistent HashingChapter 6: Design A Key-value StoreChapter 7: Design A Unique Id Generator In Distributed SystemsChapter 8: Design A Url ShortenerChapter 9: Design A Web CrawlerChapter 10: Design A Notification SystemChapter 11: Design A News Feed SystemChapter 12: Design A Chat SystemChapter 13: Design A Search Autocomplete SystemChapter 14: Design YoutubeChapter 15: Design Google DriveChapter 16: The Learning Continues
Death March
Edward Yourdon - 1997
This work covers the project lifecycle, addressing every key issue participants face: politics, people, process, project management, and tools.
Design for Hackers
David Kadavy - 2011
The term 'hacker' has been redefined to consist of anyone who has an insatiable curiosity as to how things work--and how they can try to make them better. This book is aimed at hackers of all skill levels and explains the classical principles and techniques behind beautiful designs by deconstructing those designs in order to understand what makes them so remarkable. Author and designer David Kadavy provides you with the framework for understanding good design and places a special emphasis on interactive mediums. You'll explore color theory, the role of proportion and geometry in design, and the relationship between medium and form. Packed with unique reverse engineering design examples, this book inspires and encourages you to discover and create new beauty in a variety of formats. Breaks down and studies the classical principles and techniques behind the creation of beautiful design. Illustrates cultural and contextual considerations in communicating to a specific audience. Discusses why design is important, the purpose of design, the various constraints of design, and how today's fonts are designed with the screen in mind. Dissects the elements of color, size, scale, proportion, medium, and form. Features a unique range of examples, including the graffiti in the ancient city of Pompeii, the lack of the color black in Monet's art, the style and sleekness of the iPhone, and more.By the end of this book, you'll be able to apply the featured design principles to your own web designs, mobile apps, or other digital work.
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
Scott Meyers - 1991
But the state-of-the-art has moved forward dramatically since Meyers last updated this book in 1997. (For instance, there s now STL. Design patterns. Even new functionality being added through TR1 and Boost.) So Meyers has done a top-to-bottom rewrite, identifying the 55 most valuable techniques you need now to be exceptionally effective with C++. Over half of this edition s content is new. Templates broadly impact C++ development, and you ll find them everywhere. There s extensive coverage of multithreaded systems. There s an entirely new chapter on resource management. You ll find substantial new coverage of exceptions. Much is gained, but nothing s lost: You ll find the same depth of practical insight that first made Effective C++ a classic all those years ago. Bill Camarda, from the July 2005 href="http://www.barnesandnoble.com/newslet... Only
Start with Why: How Great Leaders Inspire Everyone to Take Action
Simon Sinek - 2009
It was their natural ability to start with why that enabled them to inspire those around them and to achieve remarkable things.In studying the leaders who've had the greatest influence in the world, Simon Sinek discovered that they all think, act, and communicate in the exact same way—and it's the complete opposite of what everyone else does. Sinek calls this powerful idea The Golden Circle, and it provides a framework upon which organizations can be built, movements can be lead, and people can be inspired. And it all starts with WHY.Any organization can explain what it does; some can explain how they do it; but very few can clearly articulate why. WHY is not money or profit—those are always results. WHY does your organization exist? WHY does it do the things it does? WHY do customers really buy from one company or another? WHY are people loyal to some leaders, but not others?Starting with WHY works in big business and small business, in the nonprofit world and in politics. Those who start with WHY never manipulate, they inspire. And the people who follow them don't do so because they have to; they follow because they want to.Drawing on a wide range of real-life stories, Sinek weaves together a clear vision of what it truly takes to lead and inspire. This book is for anyone who wants to inspire others or who wants to find someone to inspire them.
Deep Work: Rules for Focused Success in a Distracted World
Cal Newport - 2016
If you master this skill, you'll achieve extraordinary results.Deep work is the ability to focus without distraction on a cognitively demanding task. It's a skill that allows you to quickly master complicated information and produce better results in less time. Deep work will make you better at what you do and provide the sense of true fulfillment that comes from craftsmanship. In short, deep work is like a super power in our increasingly competitive twenty-first century economy. And yet, most people have lost the ability to go deep-spending their days instead in a frantic blur of e-mail and social media, not even realizing there's a better way.In Deep Work, author and professor Cal Newport flips the narrative on impact in a connected age. Instead of arguing distraction is bad, he instead celebrates the power of its opposite. Dividing this book into two parts, he first makes the case that in almost any profession, cultivating a deep work ethic will produce massive benefits. He then presents a rigorous training regimen, presented as a series of four "rules," for transforming your mind and habits to support this skill.A mix of cultural criticism and actionable advice, Deep Work takes the reader on a journey through memorable stories-from Carl Jung building a stone tower in the woods to focus his mind, to a social media pioneer buying a round-trip business class ticket to Tokyo to write a book free from distraction in the air-and no-nonsense advice, such as the claim that most serious professionals should quit social media and that you should practice being bored. Deep Work is an indispensable guide to anyone seeking focused success in a distracted world.
Learn You a Haskell for Great Good!
Miran Lipovača - 2011
Learn You a Haskell for Great Good! introduces programmers familiar with imperative languages (such as C++, Java, or Python) to the unique aspects of functional programming. Packed with jokes, pop culture references, and the author's own hilarious artwork, Learn You a Haskell for Great Good! eases the learning curve of this complex language, and is a perfect starting point for any programmer looking to expand his or her horizons. The well-known web tutorial on which this book is based is widely regarded as the best way for beginners to learn Haskell, and receives over 30,000 unique visitors monthly.
Where Good Ideas Come from: The Natural History of Innovation
Steven Johnson - 2010
But where do they come from? What kind of environment breeds them? What sparks the flash of brilliance? How do we generate the breakthrough technologies that push forward our lives, our society, our culture? Steven Johnson's answers are revelatory as he identifies the seven key patterns behind genuine innovation, and traces them across time and disciplines. From Darwin and Freud to the halls of Google and Apple, Johnson investigates the innovation hubs throughout modern time and pulls out the approaches and commonalities that seem to appear at moments of originality.
Smartcuts: How Hackers, Innovators, and Icons Accelerate Success
Shane Snow - 2014
They employ what psychologists call "lateral thinking: to rethink convention and break "rules" that aren't rules.These are not shortcuts, which produce often dubious short-term gains, but ethical "smartcuts" that eliminate unnecessary effort and yield sustainable momentum. In Smartcuts, Snow shatters common wisdom about success, revealing how conventions like "paying dues" prevent progress, why kids shouldn't learn times tables, and how, paradoxically, it's easier to build a huge business than a small one.From SpaceX to The Cuban Revolution, from Ferrari to Skrillex, Smartcuts is a narrative adventure that busts old myths about success and shows how innovators and icons do the incredible by working smarter—and how perhaps the rest of us can, too.
Blitzscaling: The Lightning-Fast Path to Building Massively Valuable Companies
Reid Hoffman - 2018
So what separates the startups that get disrupted and disappear from the ones who grow to become global giants?The secret is blitzscaling: a set of techniques for scaling up at a dizzying pace that blows competitors out of the water. The objective of Blitzscaling is not to go from zero to one, but from one to one billion -as quickly as possible.When growing at a breakneck pace, getting to next level requires very different strategies from those that got you to where you are today. In a book inspired by their popular class at Stanford Business School, Hoffman and Yeh reveal how to navigate the necessary shifts and weather the unique challenges that arise at each stage of a company's life cycle, such as: how to design business models for igniting and sustaining relentless growth; strategies for hiring and managing; how the role of the founder and company culture must evolve as the business matures, and more.Whether your business has ten employees or ten thousand, Blitzscaling is the essential playbook for winning in a world where speed is the only competitive advantage that matters.
Python for Data Analysis
Wes McKinney - 2011
It is also a practical, modern introduction to scientific computing in Python, tailored for data-intensive applications. This is a book about the parts of the Python language and libraries you'll need to effectively solve a broad set of data analysis problems. This book is not an exposition on analytical methods using Python as the implementation language.Written by Wes McKinney, the main author of the pandas library, this hands-on book is packed with practical cases studies. It's ideal for analysts new to Python and for Python programmers new to scientific computing.Use the IPython interactive shell as your primary development environmentLearn basic and advanced NumPy (Numerical Python) featuresGet started with data analysis tools in the pandas libraryUse high-performance tools to load, clean, transform, merge, and reshape dataCreate scatter plots and static or interactive visualizations with matplotlibApply the pandas groupby facility to slice, dice, and summarize datasetsMeasure data by points in time, whether it's specific instances, fixed periods, or intervalsLearn how to solve problems in web analytics, social sciences, finance, and economics, through detailed examples
Code Simplicity: The Fundamentals of Software
Max Kanat-Alexander - 2012
This book contains the fundamental laws of software development, the primary pieces of understanding that make the difference between a mid-level/junior programmer and the high-level senior software engineer. The book exists to help all programmers understand the process of writing software, on a very fundamental level that can be applied to any programming language or project, from here into eternity. Code Simplicity is also written in such a way that even non-technical managers of software teams can gain an understanding of what the “right way” and the “wrong way” is (and why they are right and wrong) when it comes to software design. The focus of the book is primarily on “software design,” the process of creating a plan for a software project and making technical decisions about the pattern and structure of a system.
What Got You Here Won't Get You There: How Successful People Become Even More Successful
Marshall Goldsmith - 2006
They're intelligent, skilled, and even charismatic. But only a handful of them will ever reach the pinnacle--and as executive coach Marshall Goldsmith shows in this book, subtle nuances make all the difference. These are small "transactional flaws" performed by one person against another (as simple as not saying thank you enough), which lead to negative perceptions that can hold any executive back. Using Goldsmith's straightforward, jargon-free advice, it's amazingly easy behavior to change. Executives who hire Goldsmith for one-on-one coaching pay $250,000 for the privilege. With this book, his help is available for 1/10,000th of the price.
Tribe of Mentors: Short Life Advice from the Best in the World
Timothy Ferriss - 2017
From iconic entrepreneurs to elite athletes, from artists to billionaire investors, their short profiles can help you answer life's most challenging questions, achieve extraordinary results, and transform your life.From the author: In 2017, several of my close friends died in rapid succession. It was a very hard year, as it was for many people. It was also a stark reminder that time is our scarcest, non-renewable resource. With a renewed sense of urgency, I began asking myself many questions: Were my goals my own, or simply what I thought I should want? How much of life had I missed from underplanning or overplanning? How could I be kinder to myself? How could I better say “no” to the trivial many to better say “yes” to the critical few? How could I best reassess my priorities and my purpose in this world? To find answers, I reached out to the most impressive world-class performers in the world, ranging from wunderkinds in their 20s to icons in their 70s and 80s. No stone was left unturned. This book contains their answers—practical and tactical advice from mentors who have found solutions. Whether you want to 10x your results, get unstuck, or reinvent yourself, someone else has traveled a similar path and taken notes. This book, Tribe of Mentors, includes many of the people I grew up viewing as idols or demi-gods. Less than 10% have been on my podcast (The Tim Ferriss Show, more than 200 million downloads), making this a brand-new playbook of playbooks. No matter your challenge or opportunity, something in these pages can help. Among other things, you will learn: • More than 50 morning routines—both for the early riser and those who struggle to get out of bed. • How TED curator Chris Anderson realized that the best way to get things done is to let go. • The best purchases of $100 or less (you'll never have to think about the right gift again). • How to overcome failure and bounce back towards success. • Why Humans of New York creator Brandon Stanton believes that the best art will always be the riskiest. • How to meditate and be more mindful (and not just for those that find it easy). • Why tennis champion Maria Sharapova believe that “losing makes you think in ways victories can’t.” • How to truly achieve work-life balance (and why most people tell you it isn’t realistic). • How billionaire Facebook co-founder Dustin Moskovitz transformed the way he engages with difficult situations to reduce suffering. • Ways to thrive (and survive) the overwhelming amount of information you process every day. • How to achieve clarity on your purpose and assess your priorities. • And much more. This reference book, which I wrote for myself, has already changed my life. I certainly hope the same for you. I wish you luck as you forge your own path. All the best, Tim Ferriss
The Art of Readable Code
Dustin Boswell - 2010
Over the past five years, authors Dustin Boswell and Trevor Foucher have analyzed hundreds of examples of "bad code" (much of it their own) to determine why they’re bad and how they could be improved. Their conclusion? You need to write code that minimizes the time it would take someone else to understand it—even if that someone else is you.This book focuses on basic principles and practical techniques you can apply every time you write code. Using easy-to-digest code examples from different languages, each chapter dives into a different aspect of coding, and demonstrates how you can make your code easy to understand.Simplify naming, commenting, and formatting with tips that apply to every line of codeRefine your program’s loops, logic, and variables to reduce complexity and confusionAttack problems at the function level, such as reorganizing blocks of code to do one task at a timeWrite effective test code that is thorough and concise—as well as readable"Being aware of how the code you create affects those who look at it later is an important part of developing software. The authors did a great job in taking you through the different aspects of this challenge, explaining the details with instructive examples." —Michael Hunger, passionate Software Developer