What Technical Tests Do You Give Potential Hires?

Rick Wargo

I’m amazed at how many candidates I’ve interviewed cannot provide an elegant solution to the following test:

Write a routine, in your favorite language or even a mock language, without using an intrinsic function to solve the problem for you, to reverse the contents of a string. The routine should take an input of a string and output a string. For example, if the input is “hello” the output should be “olleh”.

I inform the candidate that it is a simple problem and invite them to talk through their logic as they write their solution on the whiteboard. I let them know it does not have to be syntactically correct; I am more interested in their approach.

It is enlightening, to say the least, to watch interviewees attack this problem. I’ve actually had so many people fail that I’ve been questioned if my “test” was too difficult. I understand there are abnormal pressures in play due to the setting but employees should ultimately perform decently under some pressure.

Silently I watch and listen to the candidate attempt to solve the problem. When the candidate is finished I usually ask, with good reason, are you certain this solution is correct? The response is often a “yes.” This usually gives us ample opportunity to talk about different strategies and try to understand why it was coded in a particular method.

I notice lots of issues that should not occur; for example, the candidate:

  • does not understand the chosen language or it’s string libraries.
  • has issues with zero-based arrays depending on chosen language.
  • overly complicates the approach and never sits back to re-evaluate.
  • can not come up with a solution.
  • chooses a complicated approach involving math and gets the math wrong.
  • uses too many variables.
  • writes unnecessary code that essentially does nothing.
  • can not validate the output of the routine they wrote correctly.
  • writes more than ten lines of code to solve the problem.
  • does not know how to swap values in to variables properly.
  • … and many more.

I’d appreciate others offering this simple test and sharing your results with me and everyone else. I’d also like to know your thoughts the validity of this test and how you would let the results affect your view of the candidate.

Before reading on to see my solution, try it for yourself. Let me know how you do.
» read more

Cannot update Fedora 8 via yum

Rick Wargo

I’ve been having difficulties trying to update a Fedora 8 installation with yum. When I execute “yum update” I received the following error:

Transaction Check Error:
file /usr/lib/libsensors.so.3 from install of lm_sensors-2.10.6-1.fc8.i386 conflicts with file from package libsensors3-2.10.5-52.fc6.i386

When I try to remove lm_sensors, a bunch of dependant packages want to be removed, too (but that is not what I want).

I noticed there was a nagios plugin that was being updated called nagios-plugins-sensors. Removing that allowed me to successfully perform a yum update!

So, I typed yum erase nagios-plugins-sensors and yum removed the following:

=============================================================================
Package Arch Version Repository Size
=============================================================================
Removing:
nagios-plugins-sensors i386 1.4.8-9.fc8 installed 1.1 k
Removing for dependencies:
nagios-plugins-all i386 1.4.8-9.fc8 installed 0.0

Success!

Blog Search to the Rescue!

Rick Wargo

It’s quicker to ask a blog search engine like blogsearch.google.com or technorati.com to find out what is happening with my Internet service than to ask Comcast. After struggling with quirky behavior (like only comcast DNS being able to resolve DNS queries and opendns and others failing) a search on the last hour of blog comments regarding Comcast let me know that they are having major problems.

Strange Resource Errors under Citrix Presentation Server

Rick Wargo

I’ve been beleaugured with strange resource errors in a VBA-based Excel application while running it under Presentation Server. I had missing bitmaps, incorrectly drawn WMF images, unloadable bmp files, and error messages such as “Not enough system resources to display completely.” These issues would appear intermittently and were difficult to determine the cause. Oddly enough I didn’t receive error messages from the ICA client and these issues did not appear while running under Terminal Services. The issues seemed related to running out of GDI resources. After a lot of strife (mostly with the computer) I found the issue: the amount of memory dedicated to video. I had 5625KB memory dedicated to it and it needed more. I also had checked “Degrade resolution first” and would prefer to to “Degrade color depth first” so the application does not get confused with a different size display. After increasing the amount of display memory to 8192KB and also setting the published application to 16-bit color, my problems disappeared.

Nikon D200 GPS - Version 2

Rick Wargo

Nikon D200 w/GPSI’ve had it for quite a while and love it: a new and improved of my original GPS design for my D200. This time it’s smaller, practical and easy; just mount it on the flash shoe, plug it in to the 10-pin connector and turn it on! Within no time at all GPS coordinates will be flowing into the camera.

This version eliminates the need for the expensive MC-35 and even the special 10-pin connector. I’ve opted for a quick GPS receiver and encased everything in a small black box with a flash shoe mount. Because it is powered through the camera’s power source, a switch on the side of the box turns off the GPS. Version 3 should include a battery, rechargeable through a USB connection.

Read on for directions on how to create your own GPS. » read more

stop spam with honeypot!