Distributed Data Processing Guru

Freebase needs YOU in its quest to build a database of the world's public knowledge. We are developing highly scalable methods for creating, loading, and reconciling large data sets. We're looking for someone that lives and breathes distributed processing.

You will be:

We are looking for talented and energetic software engineers with experience in:

We also want you to have a passion to work with data and give it away to the world.

We will give you:

If you choose to accept this mission, please:

  1. Submit a cover letter and resume in plain text, HTML, or PDF to jobs@metaweb.com.
  2. Distinguish yourself from others by responding in writing to the following questions:
    1. What is your favorite programming language? Why?
    2. What's most broken with SQL as an API of database access? How would you fix or replace it? What would a representation of your personal music collection information in your new, improved design allow you to do that you couldn't easily do with a standard relational database?
    3. Imagine a graph that consists of directional links between nodes identified by small non-negative integers < 2**16. We define a "cycle" in the graph as a nonempty set of links that connect a node to itself. Imagine an application that allows insertion of links, but wants to prevent insertion of links that close cycles in the graph. For example, starting from an empty graph, inserting links 1 ->2 and 2 ->3 would succeed; but inserting a third link 3 -> 1 would fail, since it would close the cycle 1 ->2 ->3 ->1. However, inserting a link 1 ->3 instead would succeed. In your favorite programming language, declare data structures to represent your graph, and provide code to populate your data structures with a starting graph and to perform an "insert link" function that fails if a new link would close a cycle. What is the time and space complexity of your solution? Hint: a good solution performs an insert much more efficiently than in O(e) time, where e is the number of edges in the graph.
  • Principals only. Recruiters, please don't contact us about this job.
  • Please, no phone calls about this job.
  • Please do not contact us about other services, products or commercial interests.
  • Reposting this message elsewhere is OK.

Return to job listings   Print job description