Testing candidate's mettle S02E01
-
Two good news.
- My company will try to hire one or two more full stack coders
- Boss will actually let me test them, instead of just going with his gut feeling (which admittedly turned out OK with the last 3 hires).
Therefore, the testing mettle series is back, at least for one more thread.
Tonight's candidate is a referral from Tiny Ivan, the super talented kid Boss brought in a month ago. The candidate, let's call him Steve, is also a kid in his early 20-ies. No college. Started with frontend crap, then moved on to PHP OOP stuff. A year or two of experience.
I haven't seen the kid, not even the CV. I literally just have his Skype contact. I have no idea what to expect.
We'll try to do this through Skype + Teamviewer. Unfortunately, he's on Linux so having a skype call + screen share will NOT be easy.
I prepared a version of the usual data processing task. We'll be doing it in javascript this time. I won't even bother with any FizzBuzz intro crap.
Write a webpage that displays a list of products with AMOUNT of 17 kg or more, sorted by UNIT PRICE in descending order. - Data should be loaded from: http://cartman.com/data.txt - Items with missing AMOUNT-s should be INCLUDED in the results - Output should be in an HTML table - Column headers shoud be preserved - Preferrably, no external library should be used
The data is just this text file on my server:
Product name Unit price Amount ==================================================== Apple 8.63 17.00kg Watermelon 17.12 6.3kg Corn .78 143kg Orange 20.12 56.44kg Grape 11.00 Banana 20.12 18.12kg Pear 6.00 17kg Kiwi 1.99 Pineapple 6 14kg Lemon .5 11kg
He's disappeared from Skype ATM, as we were trying to figure out Teamviewer setup. Not a good initial sign.
-
@cartman82 said in Testing candidate's mettle S02E01:
Preferrably, no external library should be used
You just weeded out 90% of web developers.
-
BTW, if someone has an idea how to do it so I can see his screen, LMK.
I can't seem to install Teamviewer on my Linux VM. If I let him come into my host, I won't be able to
live-blogakhm, I mean fully investigate his work process. It'd be preferable if he can install teamviewer on his end, but he's not answering.For now, I'll try to do dist-upgrade on my VM, maybe that will fix the dependency hell issue for teamviewer install.
-
@cartman82 said in Testing candidate's mettle S02E01:
For now, I'll try to do dist-upgrade on my VM, maybe that will fix the dependency hell issue for teamviewer install.
Yes, that will definitely make things better not worse.
-
@cartman82 said in Testing candidate's mettle S02E01:
BTW, if someone has an idea how to do it so I can see his screen, LMK.
I can't seem to install Teamviewer on my Linux VM. If I let him come into my host, I won't be able to live-blog akhm, I mean fully investigate his work process. It'd be preferable if he can install teamviewer on his end, but he's not answering.
For now, I'll try to do dist-upgrade on my VM, maybe that will fix the dependency hell issue for teamviewer install.He managed to install it on ubuntu, so.... yay.
-
@cartman82 said in Testing candidate's mettle S02E01:
He managed to install it on ubuntu, so.... yay.
stage check done. everything works.
just to take a piss, make a coffee and then we start.
-
@cartman82
Call me a jerk, but what are you actually looking for in that test?
Basic "Can read data, basic sort it and then ouput that shit into the most simple HTML possible"?
I ask because I once took a php-test and that test was
"write a complete homepage where users can insert data A adnd data B and then it should be parsed, validated and compated and sorted in multiple ways. We also want to be able to extend the page with statistics. You got 2 hours" (I failed that test :D )
So I have never even thought about taking a web-dev test again.Filed Under: How much time does he get? :D
-
@Kuro said in Testing candidate's mettle S02E01:
Basic "Can read data
^ That'd be further than most of Cartman's liveblog candidates have gotten.
-
@Kuro said in Testing candidate's mettle S02E01:
Basic "Can read data, basic sort it and then ouput that shit into the most simple HTML possible"?
This.
So far, it has been the bar none of my candidates managed to reach.
-
@cartman82 said in Testing candidate's mettle S02E01:
Preferrably, no external library should be used
Wait, are we allowed to use the standard library or do we need to write a driver for the network card and then implement TCP/IP and HTTP?
-
@ben_lubar said in Testing candidate's mettle S02E01:
Wait, are we allowed to use the standard library or do we need to write a driver for the network card and then implement TCP/IP and HTTP?
We'll do it in browser.......
Shit.
CORS
-
@cartman82 said in Testing candidate's mettle S02E01:
BTW, if someone has an idea how to do it so I can see his screen, LMK.
X over SSH?
Unsecured VNC?
Chrome Remote Desktop?
Google Hangouts?
Download an executable from join.me?
-
@cartman82 said in Testing candidate's mettle S02E01:
CORS
It's your server, so just set the headers and everything'll be fine.
-
@ben_lubar said in Testing candidate's mettle S02E01:
It's your server, so just set the headers and everything'll be fine.
IIS, just serving static file.
Someone has a quick solution, paste it in.
-
@cartman82 said in Testing candidate's mettle S02E01:
@ben_lubar said in Testing candidate's mettle S02E01:
It's your server, so just set the headers and everything'll be fine.
IIS, just serving static file.
Someone has a quick solution, paste it in.
-
@cartman82 said in Testing candidate's mettle S02E01:
IIS, just serving static file.
Someone has a quick solution, paste it in.Trying this in local config:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <directoryBrowse enabled="true" /> </system.webServer> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> </customHeaders> </httpProtocol> </configuration>
-
@cartman82 said in Testing candidate's mettle S02E01:
Trying this in local config
This:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <directoryBrowse enabled="true" /> <httpProtocol> <customHeaders> <add name="Access-Control-Allow-Origin" value="*" /> <add name="Access-Control-Allow-Methods" value="GET,PUT,POST,DELETE,OPTIONS" /> <add name="Access-Control-Allow-Headers" value="Content-Type" /> </customHeaders> </httpProtocol> </system.webServer> </configuration>
Ok, starting.
-
@cartman82 said in Testing candidate's mettle S02E01:
The data
You should
mess withtest him by putting a few of the amounts in cg or dg.
-
Only 19 years old. Jesus Christ.
Sounds confident enough.
And customized terminal!
Confident with shell...
I have a good feeling about this kid.
-
@cartman82 Asked if he can use jQuery. I advised him to just use native js.
He immediately found what he needed.
Uses multi cursor in sublime.
Nice!
-
@cartman82 said in Testing candidate's mettle S02E01:
@cartman82 Asked if he can use jQuery. I advised him to just use native js.
He immediately found what he needed.
Uses multi cursor in sublime.
Nice!
These are all signs of good things. We shall see
-
You can tell he's a PHP guy, using index in the wrong order.
BTW, he took the time to set the indentation to 2 spaces. Sign of a guy who cares how his code looks.
-
-
@cartman82 Decent google foo.
-
@cartman82 No RegEx experience gg sh.
Nah, just kidding.
-
Struggling with regex..
Shit, he's fast. The other idiots barely managed to split lines by this point.
-
-
@JazzyJosh said in Testing candidate's mettle S02E01:
No RegEx experience gg sh.
You're right, he doesn't seem to know regex.
Yet, he managed to get here just with google foo.
-
HAHAHA. He was trying to generate 0, 1, 2 using text pastry plugin, instead of type them in.
The kid is coder at heart. Unless he starts raping someone mid interview, he's instant hire so far.
-
Starting to factor code.
-
Generated internal representation with objects.
Beautiful.
-
He should be breaking this apart into 3-4 functions, instead of processing everything in
parseData
. A bit of a slowdown here.
-
Just tell him to stop. Fuck you, give him money
-
@cartman82 Code first, refactor whenever? Although with a task that simple I probably would've started this way too and maybe focus on refactoring if time allows and I want to impress the recruiter. It's not so complicated as to slow me down if I just keep everything in
main()
, and it lets me write out my thoughts faster.
-
Thinking about the DOM stuff, but he's only getting 3 results, which I think is wrong.
Maybe taking a break?
-
@cartman82
Or waiting for the results to come in from fiverr on the other computer
-
Quick! Everyone DDOS @cartman82 's data file!
-
@cartman82 said in Testing candidate's mettle S02E01:
Thinking about the DOM stuff, but he's only getting 3 results, which I think is wrong.
Well that's where I would get slowed down too. F$%king DOM manipulation syntax and inserting things into html
-
@mott555 said in Testing candidate's mettle S02E01:
Quick! Everyone DDOS @cartman82 's data file!
Well fuck. I usually have enough time to pontificate and censor everything...
Also stupid NodeBB isn't helping...
-
@cartman82 said in Testing candidate's mettle S02E01:
Unless he starts raping someone mid interview, he's instant hire so far.
Even then.
:|
-
Anyway, here's where we are at.
-
@Lorne-Kates said in Testing candidate's mettle S02E01:
@cartman82 said in Testing candidate's mettle S02E01:
Unless he starts raping someone mid interview, he's instant hire so far.
Even then.
:|
I bet you could hire someone in prison for pretty cheap since their room and meals are all provided for them. Probably could even pay them in cigs...
-
@cartman82 toDOM is something he found on Stack Overflow.
Except he doesn't realize he needs to copy the function too.
-
@cartman82 said in Testing candidate's mettle S02E01:
@cartman82 toDOM is something he found on Stack Overflow.
Except he doesn't realize he needs to copy the function too.Asked me for advice. Told him he needs to generate one element at a time, instead of all at once from string.
jQuery has spoiled him. Let's see how fast he pivots with this new knowledge.
-
@cartman82 what's he doing logging that table before it gets filled?
Also, yay for cowboy StackOverflowing. At least he didn't get
doStuff()
.
-
@cartman82 said in Testing candidate's mettle S02E01:
Told him he needs to generate one element at a time, instead of all at once from string.
Hm? I think if he's plopping
innerHTML
in the table, it should work. All he's missing is getting a div from the page and appending the table to it.Or am I missing something? Been a while since I played with client-side code.
-
@mott555 said in Testing candidate's mettle S02E01:
Probably could even pay them in cigs...
Apparently it's ramen noodles these days.
-
@Maciejasjmj said in Testing candidate's mettle S02E01:
innerHTML
Though he does have
innerHtml
there instead, so that's gonna be one nasty bug.
-
@Maciejasjmj said in Testing candidate's mettle S02E01:
@cartman82 said in Testing candidate's mettle S02E01:
Told him he needs to generate one element at a time, instead of all at once from string.
Hm? I think if he's plopping
innerHTML
in the table, it should work. All he's missing is getting a div from the page and appending the table to it.Or am I missing something? Been a while since I played with client-side code.
I think you're right?
Yeah he's got a valid table, he just needs to put it somewhere. Which I'd have to look up tbh
-
Finally figured out DOM crap. Typos. :/