Meta (Facebook)
Facebook grew up on PHP, and rather than rewrite everything, the company built its own compiler and later a new language, Hack, plus the HHVM runtime, to keep that PHP codebase fast at enormous scale.
What we cover in the quiz
- Facebook ran on PHP from the start, then built the HipHop compiler and later the Hack language and HHVM runtime to keep PHP fast enough at Facebook scale.
- Facebook built React Native to reuse React skills for mobile development. Airbnb was a prominent early adopter but later publicly moved away from it.
- Facebook built GraphQL to let its mobile apps request exactly the data they needed in one round trip, instead of stitching together many REST endpoints, and open-sourced it in 2015.
- Facebook built React internally to make complex, frequently updating interfaces like the News Feed easier to manage, then open-sourced it in 2013; it has since become one of the most widely adopted frontend libraries.
- Facebook built Presto to run interactive SQL queries directly against its enormous data warehouse, because existing batch tools were too slow for analysts who wanted answers in seconds rather than hours.
- Facebook engineers built Cassandra to power its Inbox Search feature, combining ideas from Amazon's Dynamo paper and Google's Bigtable design, then open-sourced it in 2008.
- Facebook built RocksDB as a fork of Google's LevelDB, tuned for fast storage like SSDs. It now sits underneath many other systems, including parts of MySQL, Kafka Streams and CockroachDB.
- Facebook built Hive so that analysts who knew SQL could query data in Hadoop without writing raw MapReduce jobs, dramatically widening who could work with the company's data.
- Facebook built Thrift so services written in different languages could call each other with a shared interface definition, then donated it to the Apache Software Foundation.
- Facebook built TAO as a read-optimized, geographically distributed store for graph data such as friendships and likes, sitting in front of MySQL to serve enormous read volumes with low latency.