Dedicating time to coding challenges as part of an interview

I’m in the process of applying for my first web dev job. Some of the companies I apply to want me to do coding projects as part of the interview process. I’m skeptical of this. The companies asking me to complete coding assignments are companies that I haven’t even had a phone interview with or spoken to. They respond to my application with a copy and paste email telling me to complete a coding assignment and a file attached with the specs.

I’m reluctant to devote hours of my time working on a coding assignment for a company I haven’t even spoken to yet. I’m wary that I’ll waste my time on an assignment that a human being on the other end is never even going to look at. I’m sure they send this email to 75 other people.

Am I wrong for being reluctant? For people already in the industry: What’s your personal view on completing coding assignments for companies you haven’t even met or spoken with?

Here’s the spec they sent me for reference:

Please provide any well-commented HTML 5 or Javascript source code using the standard libraries of your choice. Common-place and well-tested libraries are preferred to exotic ones.

Problem

Construct an interface for displaying a simple table, represented as a CSV file. During your in-person interview, we will provide a CSV file for you to demonstrate your code. It will conform to the following specifications: (i) the first row contains only titles, as strings; (ii) all other rows contain numerical or text data; and (iii) columns are homogeneous (i.e., not mixed numerical and text data). The interface should be as user-friendly, efficient, and intuitive as possible.

Support the following functionality:

  1. The table may have lots of rows, so provide either pagination or scrolling; it does not have lots of columns. Next to each row or data, display the original row number (with the header counting as row 0).

  2. Preserving rows, allow for the table to be sorted (by a variety of methods of your choice) by a particular column; sorting methods should be appropriate for the column type.

  3. Preserving rows, allow for the table to be filtered (by a variety of methods of your choice) by a particular column; filtering methods should be appropriate for the column type. Text filtering should include at least one wildcard-based (i.e. , pattern matching) option.

  4. Allow for multiple filters to be applied at once, but the interface need not allow for multiple-column sorting.

  5. Display (in any manner) summary statistics for a selected column including, but not limited to count and range; for numerical columns, also display sum, arithmetic mean, and any other interesting statistics of your choice.

  6. When hovering over a particular cell, identify its row number in the current display. When hovering over column names, identify the the column type and which filtering or sorting methods are currently being applied to the column.

Extra Credit:

Allow for columns to be reordered, and to be added to or removed from the display. Also, augment the interface with any graphical visualizations you find interesting, useful, or appropriate.

Whether or not you build it for them, this is a pretty common code test for an interview. And let’s face it: It might fit well in your portfolio.

I wouldn’t feel pressured, at this point, to invest the hours in a one-off piece of code. But do you feel a flexible, extensible datatable that you create is a one-off? Frankly, i’m going to build one now, and i didn’t even get the spec letter.

Yeah true. That’s crossed my mind as well. I could always do it and throw it in my portfolio.

1 Like

I’ve never been motivated enough to do a pre-interview coding test. If there was a particular job I was really exctied about, it might be different, but I’ve sometimes been asked to do a project before I even know if I’m interested in working for that company.