3

I have been given the following programming project for an interview:

  • Create a web application that reads our API and construct a webpage that shows [three types of data] and updates using the live data. Don’t spend more than an hour. Deploy your application on a cloud service.

Now, I can't really do a professional.job with unit tests, integration testing, and selenium testing in under an hour. The frontend will also look like crap unless I use Bootstrap. It won't be a nice looking webpage.

I'm willing to spend more than an hour and just claim it was an hour. I'm just not clear on what an hour of professional work looks like for a junior full stack dev.

9
  • 7
    This honestly seems very difficult for an hour of work, especially at a Junior level. It may be full stack, but developing a usable GUI, figuring out the API, setting up the Cloud Infrastructure are all activities that can take an hour for someone who is not an expert or familiar with the exact API and cloud service.
    – Shadowzee
    Commented Mar 3, 2020 at 23:54
  • 5
    Perhaps "Don't spend more than an hour" here means "it doesn't matter it's not pretty, we want to see how you integrate to our api and your deployment skills."... still, one hour for that is few time IMHO
    – DarkCygnus
    Commented Mar 3, 2020 at 23:58
  • 10
    That's not realistically an hour's work for any dev. I'd ask them to clarify if they're just asking to see a hastily constructed proof of concept. Commented Mar 3, 2020 at 23:59
  • 3
    If you can do half of that in an hour you must be some sort of miracle worker
    – solarflare
    Commented Mar 4, 2020 at 2:09
  • I'm not a developer but is it possible to take ready made, of-the-shelf pieces for most of this and just stitch them together?
    – quarague
    Commented Mar 4, 2020 at 8:48

4 Answers 4

14

I have had to do this a few times, with that same requirement of under an hour. (and I have always made it to the next round with these).

Firstly, in under an hour, it is more of a check that you can actually do stuff. Consider it "the practical equivalent of FizzBuzz." That was how one of the companies explained it to me after.

A project like this requires:

  • That you have a ready to go environment (i.e. you already code)
  • That you already have some knowledge of web technologies
  • That you are familiar enough with some technology to get it going in a few minutes (don't use Spring or something that needs a lot of configuration for this challenge)
  • That you know enough of that technology to route stuff and integrate frontend and backend
  • That you are familiar enough with a programming language to quickly put something together
  • That at the very least you can use git push and pull
  • That you have a cloud account on which to deploy stuff

In each case, I also had a traditional algo interview following this, so it was not the major technical screening.

It basically tells them that at the very least, you can move something from start all the way to "production."

Here is one of my hour long projects and I passed that round. It is not pretty at all, but it did the job.

I also interpret the "hour" as an hour of development. I exclude all non-coding and non-deployment time (and state this in the submission document). So it doesn't include documentation, writing the email, generating a list of potential test cases (I don't actually write them), etc.

Now, I can't really do a professional.job with unit tests, integration testing, and selenium testing in under an hour. The frontend will also look like crap unless I use Bootstrap. It won't be a nice looking webpage.

I seriously doubt that they expect all of that to be done. I have spent more than 1 hour doing an input box today in my professional job.

4

Maybe they not only want to see how much of the task you can achieve within an hour, but also how you work with deadlines, limited time etc...

So prioritizing which parts need to be done first instead of losing oneself in details may be part of the task.

I guess every one knowing at least something about developing knows, the whole task can`t be done in this time frame. Creating the test would be out of scope for me (or just some small tests to show that you know the importance of testing)

But they wanne see how you organize and prioritize your work in my opinion.

3

They are looking to see exactly what it is you can do in a hour. Someone with more experience will also know that you cannot do a professional job with unit tests and 'the works'. As DarkCygnus mentioned in the comments, they would like to see what it is you can do with their API.

1

When you do a programming interview project, you must focus on what was asked explicitly. You may want your project to look amazing, but it should be made only if you already finished the basic. For what I see about the scope, testing and front-end are a bonus that you may want to earn.However, remember that in this case, a crap looking site that do what was asked is better than a nice looking website with nothing that was asked, or worse, poorly done.

What I recommend is to plan your tasks in three categories and priorize it: What I must do?, What I should do if I still have time?, What I must not do?

For your example:

  • What I must do?

    1. Make the site read the API;
    2. Make a simple table to show the data;
    3. Make the site update using live data;
    4. Deploy it;
  • What I should do if I still have time?

    1. Make the site to look better;
    2. Implements others CRUD operations (Create, Delete) if available;
    3. Make a basic test case;
  • What I don't have to do?

    1. Advanced tests cases;
    2. Others graphics elements that don't have nothing to do with the table;
1
  • 1
    RAW (Rules as Written) says update "using the live data" means just refresh for the data Commented Mar 4, 2020 at 21:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .