Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Programming interviews exposed

    Programming interviews exposed

    John Mongan, Noah Suojanen, Eric Giguère · 2007

    Programming Interviews Exposed 2nd Edition The pressure is on during the interview process but with the right preparation, you can walk away with your dream job. This classic book uncovers what interviews are really like at America's top software and computer companies and provides you with the tools to succeed in any situation. The authors take you step-by-step through new problems and complex brainteasers they were asked during recent technical interviews. 50 interview scenarios are presented along with in-depth analysis of the possible solutions. The problem-solving process is clearly illustrated so you'll be able to easily apply what you've learned during crunch time. You'll also find expert tips on what questions to ask, how to approach a problem, and how to recover if you become stuck. All of this will help you ace the interview and get the job you want. What you will learn from this book Tips for effectively completing the job application Ways to prepare for the entire programming interview process How to find the kind of programming job that fits you best Strategies for choosing a solution and what your approach says about you How to improve your interviewing skills so that you can respond to any question or situation Techniques for solving knowledge-based problems, logic puzzles, and programming problems Who this book is for This book is for programmers and developers applying for jobs in the software industry or in IT departments of major corporations.

    Programming
    Open LibraryAmazon
    Stats for nerds
    29recommend
    46mentions
    42people
    2008–2021years
    70% recommend30% neutral

    Mentions per year

    20082010201220142016201820202021

    What Hacker News says

    1. arthurjjSep 2020
      > you can do it. It will take some number of weeks or months

      I think you're overstating the time needed. Passing those interviews for someone who reads HN is basically just reading Cracking the Coding Interview [1] or Programming Interviews Exposed [2] and doing the ~50% of the exercises.

      Source: Worked at 2 of FAAMG and got rejected from 2 of them (because I forgot to read those book before the interview)

      [1] https://amzn.to/30g9vRQ [2] https://amzn.to/3iaZknD

      thread
    2. berdonFeb 2020
      Hmm, perhaps. But interviewing has become big businesses for prep and passing. There are companies that will ghost interview for a candidate, even through actual onsite interviews. It’s a real problem.

      Tangentially, candidates should read “Programming Interviews Exposed: Secrets to Landing Your Next Job” for prep. It was recommended to me a long time ago and it was enough.

      thread
    3. sdnlafkjh34rwJan 2020
      Just as one data point - I went through the onsite recently and I personally found that PDF to be unhelpful. While it does list everything you need to know, it also lists way too many things that you probably don't need to know. It's basically an exhaustive list of basically every resource and topic that could possibly show up in the algorithmic interview. In my view you just need to cover Cracking the Coding Interview and then do 50-100 Leetcode questions. If you have a strong grasp of intro algorithms that would work too, except for engineers like me who didn't major in CS and hence never took an algos course.

      --- Here's the actual PDF contents -------

      Algorithm Complexity: ○ Please review complex algorithms, including big O notation. For more information on algorithms, visit the links below and your friendly local algorithms textbook. ■ Online Resources: Topcoder - Data Science Tutorials, The Stony Brook Algorithm Repository ■ Book Recommendations: Review of Basic Algorithms: Introduction to the Design and Analysis of Algorithms by Anany Levitin, Algorithms by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani, Algorithms For Interviews by Adnan Aziz and Amit Prakash, Algorithms Course Materials by Jeff Erickson, Introduction to Algorithms by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein

      ● Sorting: ○ Know how to sort. Don't do bubble-sort. ○ You should know the details of at least one nlog(n) sorting algorithm, preferably two (say, quicksort and merge sort). Merge sort can be highly useful in situations where quicksort is impractical, so take a look at it.

      ● Hash Tables: ○ Be prepared to explain how they work, and be able to implement one using only arrays in your favorite language, in about the space of one interview.

      ● Trees and Graphs: ○ Study up on trees: tree construction, traversal, and manipulation algorithms. You should be familiar with binary trees, n-ary trees, and trie-trees at the very least. You should be familiar with at least one flavor of balanced binary tree, whether it's a red/black tree, a splay tree or an AVL tree, and you should know how it's implemented. ○ More generally, there are three basic ways to represent a graph in memory (objects and pointers, matrix, and adjacency list), and you should familiarize yourself with each representation and its pros and cons. ○ Tree traversal algorithms: BFS and DFS, and know the difference between inorder, postorder and preorder traversal (for trees). You should know their computational complexity, their tradeoffs, and how to implement them in real code.

      ○ If you get a chance, study up on fancier algorithms, such as Dijkstra and A

      (for graphs). ● Other data structures: ○ You should study up on as many other data structures and algorithms as possible. You should especially know about the most famous classes of NP-complete problems, such as traveling salesman and the knapsack problem, and be able to recognize them when an interviewer asks you them in disguise.

      ● Operating Systems, Systems Programming and Concurrency: ○ Know about processes, threads, and concurrency issues. Know about locks, mutexes, semaphores and monitors, and how they work. Know about deadlock and livelock and how to avoid them. ○ Know what resources a processes needs, a thread needs, how context switching works, and how it's initiated by the operating system and underlying hardware. ○ Know a little about scheduling. The world is rapidly moving towards multi-core, so know the fundamentals of "modern" concurrency constructs.

      ● Coding: ○ You should know at least one programming language really well, preferably C/C++, Java, Python, Go, or Javascript. (Or C# since it's similar to Java.) ○ You will be expected to write code in your interviews and you will be expected to know a fair amount of detail about your favorite programming language. ○ Book Recommendation: Programming Interviews Exposed; Secrets to landing your next job by John Monagan and Noah Suojanen (Wiley Computer Publishing)

      ● Recursion and Induction: ○ You should be able to solve a problem recursively, and know how to use and repurpose common recursive algorithms to solve new problems. ○ Conversely, you should be able to take a given algorithm and prove inductively that it will do what you claim it will do. ● Data Structure Analysis and Discrete Math: ○ Some interviewers ask basic discrete math questions. This is more prevalent at Google than at other companies because we are surrounded by counting problems, probability problems, and other Discrete Math 101 situations. ○ Spend some time before the interview on the essentials of combinatorics and probability. You should be familiar with n-choose-k problems and their ilk – the more the better.

      ● System Design: ○ You should be able to take a big problem, decompose it into its basic subproblems, and talk about the pros and cons of different approaches to solving those subproblems as they relate to the original goal. ○ Google solves a lot of big problems; here are some explanations of how we solved a few to get your wheels turning. ■ Online Resources: Research at Google: Distributed Systems and Parallel Computing ■ Google File System ■ Google Bigtable ■ Google MapReduce

      ● Development Practices and Open-Ended Discussion: ○ Sample topics include validating designs, testing whiteboard code, preventing bugs, code maintainability and readability, refactor/review sample code. ○ Sample topics: biggest challenges faced, best/worst designs seen, performance analysis and optimization, testing and ideas for improving existing products.

      thread
    4. gradyjApr 2018
      - Programming Interviews Exposed - Head First Design Patterns - Clean Code

      I'm a junior in my first job and I've had these books in my personal library for a while now. Incredible helpful

      thread
    5. civilianMar 2017
      Studying an algorithms book (like Cracking the Coding Interview or Programming Interviews Exposed) is also an effective way to "hack" the interview. :-P
      thread
    6. umbsAug 2016
      Since your goal is to clear interview at Google (or companies with similar interview style), I would recommend straight up interview preparation.

      I have recently found "Elements of Programming Interviews" [1]. For people with 5+ years of experience trying to clear Google style interviews, this is the perfect book for following reasons:

      + The quality of problems is much much better than the other two books popular in this category ([2,3]). I am not saying problem are hard, but they found a right balance between quality and solvability in interview setting. + The solutions are methodical and of high standard. For experienced people, problems in [2,3] may appear too dumb down. + It has some 260 or more problems covering various areas of CS. By going through this book, you should get CS fundamentals and interview prep in one shot.

      I have all three books but strongly recommend EPI

      [1] Elements of Programming Interviews [2] Cracking the Coding Interviews [3] Programming Interviews Exposed.

      I have no affiliation with authors/publishers of [1]

      thread

    Related

    Elements of programming interviewsAdnan Aziz
    2013–2024

    Elements of programming interviews

    Adnan Aziz
    36 recommend · 59
    Cover of Cracking The Coding Interview
    2010–2026

    Cracking The Coding Interview

    Gayle Laakmann McDowell
    178 recommend · 553
    Cover of The Pragmatic Programmer
    2007–2026

    The Pragmatic Programmer

    Andy Hunt
    353 recommend · 700
    Cover of Algorithms for interviews
    2011–2020

    Algorithms for interviews

    Adnan Aziz
    4 recommend · 6
    Cover of Programming Pearls
    2007–2026

    Programming Pearls

    Jon Bentley
    158 recommend · 315
    Cover of Coders at Work
    2007–2026

    Coders at Work

    Peter Seibel
    126 recommend · 355
    Cover of Learn to Program
    2007–2023

    Learn to Program

    Chris Pine
    33 recommend · 51
    Cover of Kubernetes - Up and Running
    2017–2024

    Kubernetes - Up and Running

    Brendan Burns
    17 recommend · 28