To find these elements, we did DOM traversal - basically, a tree traversal - across the existing DOM. To do so, we needed to maintain a DOM-like graph to keep track of the actionable elements. We built a generic navigation framework on top of WinJS. We needed a navigation solution that we could hook up both to touch gestures and to voice commands. We were building one of the first full-fledged applications on the platform. When we built Skype of Xbox One, we worked on a barebones Xbox OS, that was missing key libraries. Trees and tree traversing: Skype, Uber and UI frameworks Still, there is lots of value in being aware of what options for basic data types they can choose to tackle certain problems. You can read about what I think about these interviews at the end of this article. It should be of no surprise that I am no fan of algorithm-heavy and non-practical interview questions with exotic data types like Red-Black trees or AVL trees. I've used a very small subset of algorithms, but almost all data structures. See my ethics statement on the lack of such links. Note that none of the below links are affiliate links or sponsored. If you want to buy one book that teaches you everything you need to know for the majority of interviews, Grokking Algorithms is hands down the best guide. I hope to illustrate that a generic data structures and algorithms knowledge is not "just for the interview" - but something that you'd likely find yourself reaching for when working at fast-growing, innovative tech companies. This article is a set of real-world examples where data structures like trees, graphs, and various algorithms were used in production. Knowing these concepts made it easy to understand design and implementations referencing these. But for the most part, I used this knowledge to understand how and why some things were built. This included writing code and making decisions based on these concepts. While I've also never needed to use binary tree inversion, but I have come across everyday use cases of data structures and algorithms when working at Skype/Microsoft, Skyscanner and Uber. Google: 90% of our engineers use the software you wrote (Homebrew), but you can’t invert a binary tree on a whiteboard so fuck off.- Max Howell June 10, 2015 This notion was definitely popularized after Max Howell, the author of Homebrew, posted his Google interview experience: I hear more people complain about how all of this is a purely academic exercise. Menu Data Structures & Algorithms I Used Working at Tech Companiesĭo you actually use data structures and algorithms on your day to day job? I've noticed a growing trend of people assuming algorithms are pointless questions that are asked by tech companies purely as an arbitrary measure.
0 Comments
Leave a Reply. |