Cracking the Coding Interview


Book Description

Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This book provides: 150 Programming Interview Questions and Solutions: From binary trees to binary search, this list of 150 questions includes the most common and most useful questions in data structures, algorithms, and knowledge based questions. 5 Algorithm Approaches: Stop being blind-sided by tough algorithm questions, and learn these five approaches to tackle the trickiest problems. Behind the Scenes of the interview processes at Google, Amazon, Microsoft, Facebook, Yahoo, and Apple: Learn what really goes on during your interview day and how decisions get made. Ten Mistakes Candidates Make -- And How to Avoid Them: Don't lose your dream job by making these common mistakes. Learn what many candidates do wrong, and how to avoid these issues. Steps to Prepare for Behavioral and Technical Questions: Stop meandering through an endless set of questions, while missing some of the most important preparation techniques. Follow these steps to more thoroughly prepare in less time.




Letters to a New Developer


Book Description

Learn what you need to succeed as a developer beyond the code. The lessons in this book will supercharge your career by sharing lessons and mistakes from real developers. Wouldn’t it be nice to learn from others’ career mistakes? “Soft” skills are crucial to success, but are haphazardly picked up on the job or, worse, never learned. Understanding these competencies and how to improve them will make you a more effective team member and a more attractive hire. This book will teach you the key skills you need, including how to ask questions, how and when to use common tools, and how to interact with other team members. Each will be presented in context and from multiple perspectives so you’ll be able to integrate them and apply them to your own career quickly. What You'll Learn Know when the best code is no code Understand what to do in the first month of your job See the surprising number of developers who can’t program Avoid the pitfalls of working alone Who This Book Is For Anyone who is curious about software development as a career choice. You have zero to five years of software development experience and want to learn non-technical skills that can help your career. It is also suitable for teachers and mentors who want to provide guidance to their students and/or mentees.




Agile Principles, Patterns, and Practices in C#


Book Description

With the award-winning book Agile Software Development: Principles, Patterns, and Practices, Robert C. Martin helped bring Agile principles to tens of thousands of Java and C++ programmers. Now .NET programmers have a definitive guide to agile methods with this completely updated volume from Robert C. Martin and Micah Martin, Agile Principles, Patterns, and Practices in C#. This book presents a series of case studies illustrating the fundamentals of Agile development and Agile design, and moves quickly from UML models to real C# code. The introductory chapters lay out the basics of the agile movement, while the later chapters show proven techniques in action. The book includes many source code examples that are also available for download from the authors’ Web site. Readers will come away from this book understanding Agile principles, and the fourteen practices of Extreme Programming Spiking, splitting, velocity, and planning iterations and releases Test-driven development, test-first design, and acceptance testing Refactoring with unit testing Pair programming Agile design and design smells The five types of UML diagrams and how to use them effectively Object-oriented package design and design patterns How to put all of it together for a real-world project Whether you are a C# programmer or a Visual Basic or Java programmer learning C#, a software development manager, or a business analyst, Agile Principles, Patterns, and Practices in C# is the first book you should read to understand agile software and how it applies to programming in the .NET Framework.




Optimized C++


Book Description

In today’s fast and competitive world, a program’s performance is just as important to customers as the features it provides. This practical guide teaches developers performance-tuning principles that enable optimization in C++. You’ll learn how to make code that already embodies best practices of C++ design run faster and consume fewer resources on any computer—whether it’s a watch, phone, workstation, supercomputer, or globe-spanning network of servers. Author Kurt Guntheroth provides several running examples that demonstrate how to apply these principles incrementally to improve existing code so it meets customer requirements for responsiveness and throughput. The advice in this book will prove itself the first time you hear a colleague exclaim, “Wow, that was fast. Who fixed something?” Locate performance hot spots using the profiler and software timers Learn to perform repeatable experiments to measure performance of code changes Optimize use of dynamically allocated variables Improve performance of hot loops and functions Speed up string handling functions Recognize efficient algorithms and optimization patterns Learn the strengths—and weaknesses—of C++ container classes View searching and sorting through an optimizer’s eye Make efficient use of C++ streaming I/O functions Use C++ thread-based concurrency features effectively




Cracking Digital VLSI Verification Interview


Book Description

How should I prepare for a Digital VLSI Verification Interview? What all topics do I need to know before I turn up for an interview? What all concepts do I need to brush up? What all resources do I have at my disposal for preparation? What does an Interviewer expect in an Interview? These are few questions almost all individuals ponder upon before an interview. If you have these questions in your mind, your search ends here as keeping these questions in their minds, authors have written this book that will act as a golden reference for candidates preparing for Digital VLSI Verification Interviews. Aim of this book is to enable the readers practice and grasp important concepts that are applicable to Digital VLSI Verification domain (and Interviews) through Question and Answer approach. To achieve this aim, authors have not restricted themselves just to the answer. While answering the questions in this book, authors have taken utmost care to explain underlying fundamentals and concepts. This book consists of 500+ questions covering wide range of topics that test fundamental concepts through problem statements (a common interview practice which the authors have seen over last several years). These questions and problem statements are spread across nine chapters and each chapter consists of questions to help readers brush-up, test, and hone fundamental concepts that form basis of Digital VLSI Verification. The scope of this book however, goes beyond technical concepts. Behavioral skills also form a critical part of working culture of any company. Hence, this book consists of a section that lists down behavioral interview questions as well. Topics covered in this book:1. Digital Logic Design (Number Systems, Gates, Combinational, Sequential Circuits, State Machines, and other Design problems)2. Computer Architecture (Processor Architecture, Caches, Memory Systems)3. Programming (Basics, OOP, UNIX/Linux, C/C++, Perl)4. Hardware Description Languages (Verilog, SystemVerilog)5. Fundamentals of Verification (Verification Basics, Strategies, and Thinking problems)6. Verification Methodologies (UVM, Formal, Power, Clocking, Coverage, Assertions)7. Version Control Systems (CVS, GIT, SVN)8. Logical Reasoning/Puzzles (Related to Digital Logic, General Reasoning, Lateral Thinking)9. Non Technical and Behavioral Questions (Most commonly asked)In addition to technical and behavioral part, this book touches upon a typical interview process and gives a glimpse of latest interview trends. It also lists some general tips and Best-Known-Methods to enable the readers follow correct preparation approach from day-1 of their preparations. Knowing what an Interviewer looks for in an interviewee is always an icing on the cake as it helps a person prepare accordingly. Hence, authors of this book spoke to few leaders in the semiconductor industry and asked their personal views on "What do they look for while Interviewing candidates and how do they usually arrive at a decision if a candidate should be hired?". These leaders have been working in the industry from many-many years now and they have interviewed lots of candidates over past several years. Hear directly from these leaders as to what they look for in candidates before hiring them. Enjoy reading this book. Authors are open to your feedback. Please do provide your valuable comments, ratings, and reviews.




Programming Pearls


Book Description

When programmers list their favorite books, Jon Bentley’s collection of programming pearls is commonly included among the classics. Just as natural pearls grow from grains of sand that irritate oysters, programming pearls have grown from real problems that have irritated real programmers. With origins beyond solid engineering, in the realm of insight and creativity, Bentley’s pearls offer unique and clever solutions to those nagging problems. Illustrated by programs designed as much for fun as for instruction, the book is filled with lucid and witty descriptions of practical programming techniques and fundamental design principles. It is not at all surprising that Programming Pearls has been so highly valued by programmers at every level of experience. In this revision, the first in 14 years, Bentley has substantially updated his essays to reflect current programming methods and environments. In addition, there are three new essays on testing, debugging, and timing set representations string problems All the original programs have been rewritten, and an equal amount of new code has been generated. Implementations of all the programs, in C or C++, are now available on the Web. What remains the same in this new edition is Bentley’s focus on the hard core of programming problems and his delivery of workable solutions to those problems. Whether you are new to Bentley’s classic or are revisiting his work for some fresh insight, the book is sure to make your own list of favorites.




Interview Questions and Answers


Book Description




Skills of a Successful Software Engineer


Book Description

Skills to grow from a solo coder into a productive member of a software development team, with seasoned advice on everything from refactoring to acing an interview. In Skills of a Successful Software Engineer you will learn: The skills you need to succeed on a software development team Best practices for writing maintainable code Testing and commenting code for others to read and use Refactoring code you didn’t write What to expect from a technical interview process How to be a tech leader Getting around gatekeeping in the tech community Skills of a Successful Software Engineer is a best practices guide for succeeding on a software development team. The book reveals how to optimize both your code and your career, from achieving a good work-life balance to writing the kind of bug-free code delivered by pros. You’ll master essential skills that you might not have learned as a solo coder, including meaningful code commenting, unit testing, and using refactoring to speed up feature delivery. Timeless advice on acing interviews and setting yourself up for leadership will help you throughout your career. Crack open this one-of-a-kind guide, and you’ll soon be working in the professional manner that software managers expect. About the technology Success as a software engineer requires technical knowledge, flexibility, and a lot of persistence. Knowing how to work effectively with other developers can be the difference between a fulfilling career and getting stuck in a life-sucking rut. This brilliant book guides you through the essential skills you need to survive and thrive on a software engineering team. About the book Skills of a Successful Software Engineer presents techniques for working on software projects collaboratively. In it, you’ll build technical skills, such as writing simple code, effective testing, and refactoring, that are essential to creating software on a team. You’ll also explore soft skills like how to keep your knowledge up to date, interacting with your team leader, and even how to get a job you’ll love. What's inside Best practices for writing and documenting maintainable code Testing and refactoring code you didn’t write What to expect in a technical interview How to thrive on a development team About the reader For working and aspiring software engineers. About the author Fernando Doglio has twenty years of experience in the software industry, where he has worked on everything from web development to big data. Table of Contents 1 Becoming a successful software engineer 2 Writing code everyone can read 3 Unit testing: delivering code that works 4 Refactoring existing code (or Refactoring doesn’t mean rewriting code) 5 Tackling the personal side of coding 6 Interviewing for your place on the team 7 Working as part of a team 8 Understanding team leadership




1010 PHR / SPHR PRACTICE QUESTIONS WITH 200 PHR / SPHR KEY POINTS


Book Description

1010 PHR / SPHR PRACTICE QUESTIONS WITH 200 PHR/SPHR KEY POINTS 1,010 Practice Questions provides an in-depth review of the exam content through 1,010 practice tests that reflect the 2018 certification updates. With 1,010 practice test questions, detailed explanations and 200 PHR Key Points, this book provides a complete test preparation for the PHR / SPHR Professional Human Resources certification exams. These 1,010 Practice Questions were prepared to ensure candidates have an adequate preparation material for the HR exams, with a focus on the requirements of the Human Resource Body of Knowledge. The practice tests feature HR topics from the following areas; •Business Management and Strategy •Talent Planning and Acquisition •Workforce Planning and Employment •Learning and Development •Total Rewards •Employee and Labor Relations •Risk Management




Smart and Gets Things Done


Book Description

A "good" programmer can outproduce five, ten, and sometimes more run-of-the-mill programmers. The secret to success for any software company then is to hire the good programmers. But how to do that? In Joel on Hiring, Joel Spolsky draws from his experience both at Microsoft and running his own successful software company based in New York City. He writes humorously, but seriously about his methods for sorting resumes, for finding great candidates, and for interviewing, in person and by phone. Joel’s methods are not complex, but they do get to the heart of the matter: how to recognize a great developer when you see one.