New Employee Aptitude Test

Posted May 4, 2006 at 9:21 AM by Ben Nadel

Tags: ColdFusion, Work

Over the past few years, my company has hired some questionable employees. People who have cracked under the pressure and quite, or more unfortunately, people who just didn't realize that they couldn't hack it and had to be fired. Firing someone is never fun and I am glad I am not the person who has to fire someone. After many rounds of this, I can't believe that we haven't developed a better screening process.

Now, we can't judge character, willingness to learn, ability to learn, etc. so well in an interview. But, I see no reason why we can't give interviewees a ColdFusion mini-test. Give them half an hour or something to tackle a problem so that we can gain some insight into where they are as a programmer and problem solver. In interviews, I always hated theoretical questions about pills and digital scales or programming with out conditional statements. Those are nice, in theory, but are useless when it comes to reaching client deadlines in a real-world scenario. We need something practical, something that will demonstrate the ability for a potential employee to program, reach goals, and solve problems with very real parameters.

So, what is important as a ColdFusion programmer? It's going to be different for all work environments, but this is a list of "programming activities" that I have to deal with quite often:

  1. File Read/Write/Parse
  2. Query Creation/Outputting
  3. Persisting Data
  4. Add/Modify/Delete Existing Data
  5. Text Manipulation

Looking at that list above, I have come up with a test case that touches all of the scenarios.

The program takes a tab-delimited text file (with no header row), reads it in, parses it into a query object. The query object is then cached so that the file does not have to constantly be read from with each page call. The query object is then outputted (not CFDump'd) on the page. For each row that is outputted, there is a "Delete" link which allows the user to delete a row from the data query. For each row that is deleted, the text file and the data cache must be updated. At the top of the page, there is a simple form (a field for each column in the text file) where the user can add a new row to the data. For each row that is added, the text file and data cache must be updated. Furthermore, the application should initialize itself anytime there is no data cache, or is manually re-initialized (aspect of the programming).

I think this example is small enough that it will not be overwhelming enough or take too much time. It is, however, broad enough to touch upon many important aspects of ColdFusion programming.



Reader Comments

Aug 22, 2007 at 3:00 AM // reply »
1 Comments

send me an aptitude test notes with example pls!!!!!!!!!!!!111


Post A Comment

Comment Etiquette: Please do not post spam. Please keep the comments on-topic. Please do not post unrelated questions or large chunks of code. And, above all, please be nice to each other - we're trying to have a good conversation here.

Please review the following issues:

Author Name:


Author Email:

Author Website:

Comment:

Supported HTML tags for formatting: <strong>bold</strong>   <em>italic</em>   <code>code</code>







  • Help Wanted - Find Your Next ColdFusion Job
InVision App - Prototyping Made Beautiful With Prototyping Tools Ben Nadel's Company - Epicenter Consulting Recent Blog Comments
Feb 12, 2012 at 3:37 AM
Learning ColdFusion 8: CFImage Part III - Watermarks And Transparency
Hi Ben, Just to ask currently it is placed bottom right corner, if i need to replace the same rendered image on the bottom left side or in the bottom center, how that can be calculated. bottom ce ... read »
Feb 11, 2012 at 9:29 PM
Use jQuery's SlideDown() With Fixed-Width Elements To Prevent Jumping
I can't say how glad I am that I found your post. Thank you very much. ... read »
Feb 10, 2012 at 7:21 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
Update! Instead of $(eval(options.insertAfter)).after(data['insertData']); I now use: var ajaxNode = document.createElement('span'); var parent = $(eval(options.insertAfter))[0].parentNode; ... read »
Feb 10, 2012 at 6:18 PM
jQuery AJAX Strips Script Tags And Inserts Them After Parent-Most Elements
encountered this same, what I consider, jQuery bug last week. I'm building a site in which I load some content via AJAX. This content contains Linkedin share button placeholders which Linkedin API ne ... read »
Feb 10, 2012 at 11:30 AM
Cross-Origin Resource Sharing (CORS) AJAX Requests Between jQuery And Node.js
After you understand the concepts here, this is an awesome cheatsheet for enabling CORS in just about anything http://enable-cors.org/ ... read »
JM
Feb 10, 2012 at 9:10 AM
My Safari Browser SQLite Database Hello World Example
@Amy, Here is a very good tutorial on how to use JOIN: http://www.sqltutorial.org/sqljoin-innerjoin.aspx ... read »
Feb 10, 2012 at 4:42 AM
Building A Twitter-Inspired RESTful API Architecture In ColdFusion
This is great, very useful Ben. I spotted a small typo in the api.cgm listing: <cfthrow type="Unauthroized" /> Cheers Stefan ... read »
Feb 9, 2012 at 10:35 PM
CFDirectory Filtering Uses Pipe Character For Multiple Filters (Thanks Steve Withington)
I was wondering if there would be a filter you could apply so that you got everything but what you included in the filter. As in show me all docs that are not a .pdf. ... read »