Skip to content

Latest commit

 

History

History
54 lines (49 loc) · 2.82 KB

February 8th, 2021.md

File metadata and controls

54 lines (49 loc) · 2.82 KB
  • Hiring Work at Roam Clojure Engineer - Backend Role Take Home Project
    • Given a map, or a datascript database at two points in time
    • Generate a diff of the two structures
    • Generate the minimal transaction which will bring A -> B, and vice versa.
    • Bonus
      • Given a set of User-Events which map to certain transactions - find the sequence of user events which brought A -> B, or which would bring B -> A
      • Take a roam outline tree, and create a datascript DB with just the data contained within it - such as this one This item
      • Publish your code and the demo on a roam graph using roam/render and custom components
        • Roam allows you to write arbitrary CLJS code - and evaluate it in your graph - you can use this code - and the roam Alpha API to query your graph, and create mutations for it.
        • Submit your answer as a roam-graph
        • All code should be in the same Roam Graph as the working demo.
        • {{roam/render: ((uP_2barEP)) ((cpgzSMTye))}}

(ns starting-point-for-custom-roam (:require [reagent.core :as r] [datascript.core :as d] [roam.datascript.reactive :as dr]))

(defn x [{b :block-uid} x] [:div.bp3-card [:ul [:li (pr-str @(dr/pull '[:block/string {:block/children ...} :block/uid ] x))] [:li [:h3"Schema" ] (pr-str @(dr/q '[:find [?a ...] :where [_ ?a _]]))] [:li (pr-str (keys @(dr/pull '[*] [:block/uid b])))]]] )``` - This item - Has children - A - B - C - ## IF you want to also be considered for #UI Engineer - [ ] generate a UI for displaying the diff - [ ] create a simple component that will let you save the state of a block subtree at various points, and return to these states - by firing new transactions

Backlinks