Interview Tests

Hiring people is hard work. Trust me, I get that. I've interviewed and hired over 50 people over the course of the years. From adminstrative assistants, general or skilled labor to incredibly talented developers, I've seen all ends of the spectrum.

Often companies will use some sort of test project to determine a candidate's skillset. I ran across this test on ycombinator and thought, what the heck, I'll give it a shot.

The Test:

The test starts with the instructions, curl http://challenge.shopcurbside.com

Which returns:

On the right track. You can start here: "/start"
Simple enough, let's get that response:
    {
        "error": "\"Session\" header is missing. \"/get-session\" to get a session id."
    }
Okay, we need a session...kinda strange to throw an error when doing as directed.
So the results of http://challenge.shopcurbside.com/get-session returns
d1490eb234964ec5bd20fb36f073066

I'll skip ahead here a bit, but each token is good for 10 requests. Re-requesting /start returns:

    {
      "depth": 0,
      "id": "start",
      "message": "There is something we want to tell you, let's see if you can figure this out by finding all of our secrets",
      "next": [
        "34ffe00db65f4576b5add43dda39ff99",
        "ebdf4d2f11514626a1b07d745d4a0fc6",
        "64bbc0003e824075ad59fb5cfaaac4cd"
      ]
    }
    

Aha, given the depth remark and the next key I can guess that this is going to be a list of URL's, each with it's own list of URL's ( node tree ).

So I wrote a quick recursive node iterator to visit all the URL nodes. At the depth of 4 each node looked like this: (the class I used to do this parses the json to an array)

    [depth] => 4
    [id] => d9f9a7c4ac0a48959f0de596c91ee90b
    [secret] => A
                

For the curious, here's an output of the entire node map.

                        {{ nodes | json }}
                    

So, the secrets are 4 nodes deep. If we only care about the secrets we get:

Apply  systemd@shopcrbside.m with r code

So there you go, send an email to systemd@shopcrbside.m to apply for their sneaky job.

Below you can view the PHP model's dump with the raw data. Alternatively F12 will open developer's tools in Chrome and you can access the data through the NodeMap.nodes Vue object

Scraper {#268

    #fillable: array:14 [
            0 => "title"
            1 => "createdOn"
            2 => "type"
            3 => "description"
            4 => "skills"
            5 => "duration"
            6 => "engagement"
            7 => "amount"
            8 => "client"
            9 => "category2"
            10 => "relevance"
            11 => "subcategory2"
            12 => "tierText"
            13 => "recno"
        ]
        +headers: array:1 [
            "headers" => array:1 [
                "session" => "80688e00f8c1471e837804dcb11c299b"
            ]
        ]
        +prefix: "http://challenge.shopcurbside.com/"
        +counter: 83
        +message: ""
        +bag: array:3 [
            "34ffe00db65f4576b5add43dda39ff99" => array:3 [
                "81dd32039f2f4bfea3ab35f40c994a0e" => array:4 [
                    "a2b07e1917cd4d03aa8557f0ee982e80" => array:4 [
                        "d9f9a7c4ac0a48959f0de596c91ee90b" => array:3 [
                            "depth" => 4
                            "id" => "d9f9a7c4ac0a48959f0de596c91ee90b"
                            "secret" => "A"
                        ]
                        "849e7b590222402ca8a3610c7d389b19" => array:3 [
                            "depth" => 4
                            "id" => "849e7b590222402ca8a3610c7d389b19"
                            "secret" => "p"
                        ]
                        "4d1ff41945684f4e876b3635ab8ecb04" => array:3 [
                            "depth" => 4
                            "id" => "4d1ff41945684f4e876b3635ab8ecb04"
                            "secret" => ""
                        ]
                        "c872e3bad7d34c83b5754dc8e045b99a" => array:3 [
                            "depth" => 4
                            "id" => "c872e3bad7d34c83b5754dc8e045b99a"
                            "secret" => "p"
                        ]
                    ]
                    "998e40abd4c14993b3a06880e03a5106" => array:3 [
                        "ca8c4f6a85f54e83a1ca4e5856648bb9" => array:3 [
                            "depth" => 4
                            "id" => "ca8c4f6a85f54e83a1ca4e5856648bb9"
                            "secret" => "l"
                        ]
                        "3ad41bc973fe41b7985df00f2e1a3fb9" => array:3 [
                            "depth" => 4
                            "id" => "3ad41bc973fe41b7985df00f2e1a3fb9"
                            "secret" => "y"
                        ]
                        "246773871efb453f82ba67a43f0881ae" => array:3 [
                            "depth" => 4
                            "id" => "246773871efb453f82ba67a43f0881ae"
                            "secret" => " "
                        ]
                    ]
                    "d587883b577046bcbba08841bbf5aae0" => []
                    "2a5a561f61854a16a9bd2cd08ed13106" => []
                ]
                "adad9a3a96464d2ba2977d9863e33794" => array:4 [
                    "64875d1faca6400ab593bcedac2d7636" => array:4 [
                        "fe7da41bd34a4e98b2e47f854c8602ed" => array:3 [
                            "depth" => 4
                            "id" => "fe7da41bd34a4e98b2e47f854c8602ed"
                            "secret" => " "
                        ]
                        "99da76a408b74c1ab2db215f489728e7" => array:3 [
                            "depth" => 4
                            "id" => "99da76a408b74c1ab2db215f489728e7"
                            "secret" => ""
                        ]
                        "18b4ff58700147ce90be34984f4468a6" => array:3 [
                            "depth" => 4
                            "id" => "18b4ff58700147ce90be34984f4468a6"
                            "secret" => "s"
                        ]
                        "a64f53cbea064fa691865b39a462d8ba" => array:3 [
                            "depth" => 4
                            "id" => "a64f53cbea064fa691865b39a462d8ba"
                            "secret" => "y"
                        ]
                    ]
                    "7a9d86a02ae24e14ac5fefc1ced2c4b0" => array:4 [
                        "d924f17494de4176a6eae2d785b4e219" => array:3 [
                            "depth" => 4
                            "id" => "d924f17494de4176a6eae2d785b4e219"
                            "secret" => "s"
                        ]
                        "a042f712b01748fe8041445ba6b82536" => array:3 [
                            "depth" => 4
                            "id" => "a042f712b01748fe8041445ba6b82536"
                            "secret" => "t"
                        ]
                        "895aff50f2fa4187a9896051e2d0c2f4" => array:3 [
                            "depth" => 4
                            "id" => "895aff50f2fa4187a9896051e2d0c2f4"
                            "secret" => "e"
                        ]
                        "5ba29b3fe5b146e0a92f315a3f3504bf" => array:3 [
                            "depth" => 4
                            "id" => "5ba29b3fe5b146e0a92f315a3f3504bf"
                            "secret" => "m"
                        ]
                    ]
                    "0645cee3345f4d40846f2ba7dc88ba64" => array:4 [
                        "ae5ba4ef07c94a399ceb02ee761ddedb" => array:3 [
                            "depth" => 4
                            "id" => "ae5ba4ef07c94a399ceb02ee761ddedb"
                            "secret" => ""
                        ]
                        "8f65c959320a47feae0d0063344c76fe" => array:3 [
                            "depth" => 4
                            "id" => "8f65c959320a47feae0d0063344c76fe"
                            "secret" => "d"
                        ]
                        "94dbc3233c334b0b8266a7ba0f19e42c" => array:3 [
                            "depth" => 4
                            "id" => "94dbc3233c334b0b8266a7ba0f19e42c"
                            "secret" => "@"
                        ]
                        "01ee7ebdf55b4fc0b2ee3910108c793e" => array:3 [
                            "depth" => 4
                            "id" => "01ee7ebdf55b4fc0b2ee3910108c793e"
                            "secret" => "s"
                        ]
                    ]
                    "64773235a47646f5b5ab4de50496785e" => array:4 [
                        "292831e230e54ba8926f090f2f0ad0a9" => array:3 [
                            "depth" => 4
                            "id" => "292831e230e54ba8926f090f2f0ad0a9"
                            "secret" => "h"
                        ]
                        "8b4ce51ef5694d3ea5c71ec46375365c" => array:3 [
                            "depth" => 4
                            "id" => "8b4ce51ef5694d3ea5c71ec46375365c"
                            "secret" => "o"
                        ]
                        "2aa640e7474b4205a929657f663a6852" => array:3 [
                            "depth" => 4
                            "id" => "2aa640e7474b4205a929657f663a6852"
                            "secret" => "p"
                        ]
                        "67814ca017fa4079ba5a7d213352993d" => array:3 [
                            "depth" => 4
                            "id" => "67814ca017fa4079ba5a7d213352993d"
                            "secret" => "c"
                        ]
                    ]
                ]
                "33aaccd7d4fe40019160c49b689c7358" => array:4 [
                    "89b5a1b82e294744a032bfdd29eadf5d" => []
                    "8b0c3c74ea0044988351a75453578780" => array:3 [
                        "2ef84fd95ac94208b4fb14cab480ea11" => array:3 [
                            "depth" => 4
                            "id" => "2ef84fd95ac94208b4fb14cab480ea11"
                            "secret" => "r"
                        ]
                        "0b2b36fe3a3e4af682e3acb392fdb8a0" => array:3 [
                            "depth" => 4
                            "id" => "0b2b36fe3a3e4af682e3acb392fdb8a0"
                            "secret" => "b"
                        ]
                        "8b2888c1c53343769b4cc1da92b1fcf3" => array:3 [
                            "depth" => 4
                            "id" => "8b2888c1c53343769b4cc1da92b1fcf3"
                            "secret" => "s"
                        ]
                    ]
                    "cc6be866bd1d437cbd36cb4ba1c1b382" => array:4 [
                        "ae5b91529bd948c98ecd69b15dc555b3" => array:3 [
                            "depth" => 4
                            "id" => "ae5b91529bd948c98ecd69b15dc555b3"
                            "secret" => ""
                        ]
                        "74979f3769814910bf36922a40308892" => array:3 [
                            "depth" => 4
                            "id" => "74979f3769814910bf36922a40308892"
                            "secret" => "i"
                        ]
                        "789b7463fe3544b28ca0b3da19cc34f1" => array:3 [
                            "depth" => 4
                            "id" => "789b7463fe3544b28ca0b3da19cc34f1"
                            "secret" => "d"
                        ]
                        "f896bfdb57ff4db7981415ef871e36a8" => array:3 [
                            "depth" => 4
                            "id" => "f896bfdb57ff4db7981415ef871e36a8"
                            "secret" => ""
                        ]
                    ]
                    "38e2cc79462e4a049f3eaf0a9ad75b32" => array:2 [
                        "29fe5c573b164f688130c6503d99b7b1" => array:3 [
                            "depth" => 4
                            "id" => "29fe5c573b164f688130c6503d99b7b1"
                            "secret" => "e"
                        ]
                        "37f52604954147c19bb58e1285bb39e2" => array:3 [
                            "depth" => 4
                            "id" => "37f52604954147c19bb58e1285bb39e2"
                            "secret" => "."
                        ]
                    ]
                ]
            ]
            "ebdf4d2f11514626a1b07d745d4a0fc6" => array:4 [
                "5adce37592d8468fa379173d75ef59c1" => []
                "7b3cff269d804f8e9f549eefca62e5aa" => []
                "15c7fbdec5d64551aa6ef61c819f4589" => array:2 [
                    "d4ef21679b7343ed80c79e401a76bd62" => array:3 [
                        "c6ea1e9e32b347a2afb9eb022b2d6915" => array:3 [
                            "depth" => 4
                            "id" => "c6ea1e9e32b347a2afb9eb022b2d6915"
                            "secret" => "m"
                        ]
                        "2cf86c6905fb418093eeb98d127bf75e" => array:3 [
                            "depth" => 4
                            "id" => "2cf86c6905fb418093eeb98d127bf75e"
                            "secret" => " "
                        ]
                        "8f039a062cfe463db289c8028e43c1aa" => array:3 [
                            "depth" => 4
                            "id" => "8f039a062cfe463db289c8028e43c1aa"
                            "secret" => "w"
                        ]
                    ]
                    "eaae672a574b45c89332dbf3e95c3f70" => array:3 [
                        "453d14a1da3644378e68e767ffff8565" => array:3 [
                            "depth" => 4
                            "id" => "453d14a1da3644378e68e767ffff8565"
                            "secret" => "i"
                        ]
                        "974f5e7694334040ab3406623ac17efa" => array:3 [
                            "depth" => 4
                            "id" => "974f5e7694334040ab3406623ac17efa"
                            "secret" => "t"
                        ]
                        "81f49b81ebf947bda317b870a822ea83" => array:3 [
                            "depth" => 4
                            "id" => "81f49b81ebf947bda317b870a822ea83"
                            "secret" => "h"
                        ]
                    ]
                ]
                "65230e87d62c44fba70709d78a679e7e" => array:2 [
                    "c25ef4bcb14c4bff99d2439f84565ee1" => array:3 [
                        "1f55182edfb542079aaadf0d5aac4dae" => array:3 [
                            "depth" => 4
                            "id" => "1f55182edfb542079aaadf0d5aac4dae"
                            "secret" => ""
                        ]
                        "f3a58eeecfb640719d130689bb9187d8" => array:3 [
                            "depth" => 4
                            "id" => "f3a58eeecfb640719d130689bb9187d8"
                            "secret" => ""
                        ]
                        "6460a7c813f64d0384bafdec1e703d9b" => array:3 [
                            "depth" => 4
                            "id" => "6460a7c813f64d0384bafdec1e703d9b"
                            "secret" => " "
                        ]
                    ]
                    "98502735911c439980d93555668f75ee" => []
                ]
            ]
            "64bbc0003e824075ad59fb5cfaaac4cd" => array:2 [
                "abbca2c365f54160a9ba4c9061081f3c" => array:3 [
                    "27fec2bc9ac445b49841d391dc2e5fea" => []
                    "c76634700826400090dac3cb299e03fb" => []
                    "59066beb05e24c8d87e7aba29e3a6bad" => array:2 [
                        "028fefb27d864f6f8bc45e1ba1ec7dfd" => array:3 [
                            "depth" => 4
                            "id" => "028fefb27d864f6f8bc45e1ba1ec7dfd"
                            "secret" => "r"
                        ]
                        "051e1d0fe23f4585b9d11ce33e04e110" => array:3 [
                            "depth" => 4
                            "id" => "051e1d0fe23f4585b9d11ce33e04e110"
                            "secret" => " "
                        ]
                    ]
                ]
                "b177d7118b564153822bc7b59a0faf0e" => array:2 [
                    "358b6c639b4f41cdbc6238f7c2c286cc" => array:3 [
                        "11dce9a3160d4059bcfc042befabbd8a" => array:3 [
                            "depth" => 4
                            "id" => "11dce9a3160d4059bcfc042befabbd8a"
                            "secret" => "c"
                        ]
                        "9eb1e429c4e24b92ab1450e47a19fbca" => array:3 [
                            "depth" => 4
                            "id" => "9eb1e429c4e24b92ab1450e47a19fbca"
                            "secret" => ""
                        ]
                        "9b17cf45b3e241c78ef25a737ff0b03a" => array:3 [
                            "depth" => 4
                            "id" => "9b17cf45b3e241c78ef25a737ff0b03a"
                            "secret" => ""
                        ]
                    ]
                    "e0c3b332ae5647e283884ad7368fb33b" => array:3 [
                        "cd700a6084fd4071a21c1ad70101352a" => array:3 [
                            "depth" => 4
                            "id" => "cd700a6084fd4071a21c1ad70101352a"
                            "secret" => "o"
                        ]
                        "075c365611f149c9991dd01e06b9a39b" => array:3 [
                            "depth" => 4
                            "id" => "075c365611f149c9991dd01e06b9a39b"
                            "secret" => "d"
                        ]
                        "997fc05d588b4f1da8f6d1948a78a41e" => array:3 [
                            "depth" => 4
                            "id" => "997fc05d588b4f1da8f6d1948a78a41e"
                            "secret" => "e"
                        ]
                    ]
                ]
            ]
        ]
        +results: null
        #connection: null
        #table: null
        #primaryKey: "id"
        #perPage: 15
        +incrementing: true
        +timestamps: true
        #attributes: []
        #original: []
        #relations: []
        #hidden: []
        #visible: []
        #appends: []
        #guarded: array:1 [
            0 => "*"
        ]
        #dates: []
        #dateFormat: null
        #casts: []
        #touches: []
        #observables: []
        #with: []
        #morphClass: null
        +exists: false
        +wasRecentlyCreated: false
    }