Largely, Facebook uses Facebook and Facebook Groups for internal communication and coordination. As it turns out, the tools that make it fast and easy for social groups around the world to interact also make it fast for a company like Facebook to manage internal communication. Each product group, team, subgroup, project, etc. creates its own Facebook group which allows the team to focus their interactions within the most pertinent audience. We've been exploring where else this can be useful (
http://venturebeat.com/2012/04/1...). Before Groups were the awesome thing they are today, Facebook made use of mailing lists and an internal tool for discussions.
We also use an in-house-built task management tool that supports a lot of Facebook-like interactions like being able to Like a comment on a task. It's heavily centered around ownership, tagging, and task status. As a quirk/perk this system also supports the collection of Pokemon with each closed task. The tool probably has some similarity with Asana (
http://venturebeat.com/2011/11/0...) which was born at Facebook and probably doesn't have Pokemon.
We also make heavy use of IRC (at least the engineering teams do). For instance, we use IRC to disseminate lunch menus (thanks to Quora User for creating his internally infamous menu-scraping IRC bot) and as a coordination tool for our code release process. There are a handful of other tools that make internal communcation easier with respect to file sharing, like Pixelcloud (
https://www.facebook.com/note.ph...,
https://www.facebook.com/notes/f...). We also use a lot of email and chat.
Because we have a bunch of offices all over the world, we use video conferencing and live streaming of video from wherever to wherever else it needs to go. This can be a hassle when something goes wrong, but in general in makes remote offices and people seem accessible. The degree to which we decentralize is also part of why it's super easy to work remotely without being missed or feeling left out.
For code review, we use some awful tool
Evan Priestley wrote called "phabricator" (
http://phabricator.org). It's actually pretty good or whatever, but don't tell Evan because he'll get a big head about it.
We also talk to each other frequently. We're not nearly as meeting-heavy as a lot of companies I've worked for, but we spend a fair amount of time in impromptu whiteboarding and in discussion at or around someone's desk. Meetings tend to be low impact and over attended, so just going to the person or couple of people you need to interact with and banging out some details on the spot is usually a better option.