Code Monkey home page Code Monkey logo

software-engineer-challenge's Introduction

IDXP's software engineer challenge

This is the description of the challenge we need you to do before joining us. We'll use everything you'll do here to evaluate you, so please, do your best!

Application description

You need to create an application to index words in text files. Basically, we'll send some simple text files to you, and you will count how many times every word appears in it. Then, you will write an interface where we will search for a word, and you will list the documents that contain that word, and how many times the word appear on each document. Also, remember to order the results by word occurrence.

Application requirements

  • Your application needs to scale as much as it needs to. Also, it needs to be able to scale independently. For instance, if the application is receiving a lot of requests to search for the indexed words, but not as much documents to process, it should only scale the searching endpoint.
  • Please use Ruby or Python somewhere in your application. We understand that every language has its suitabilities, but these are the languages that we currently use in our services, so we would like to see you coding in them.
  • Please include tests for your application.
  • You are free to tackle this problem in any way you want. If you think one application is not enough, create some more!
  • Please provide a document explaining your whole architecture, what you did, and why you did it.
    • This document must contain a scaling plan. Basically, you should tell us what you would do to scale your application, in detail. You don't have to implement any of it, though.
  • Please provide a document for your application explaining how to install, test, and run it. (Vagrant boxes or similar gets extra points!)
  • Just do what you think is right. We understand that no one knows everything, and of course, you will have the opportunity to improve once you're here.
  • We think that a week is a good deadline for this challenge, but please reach out to us if you need any extra time.

Instructions

  1. Create some private GIT repos (if you don't have private repos on Github, you can use bitbucket)
  2. Commit your code in the repos
  3. Once you're finished, grant read access to them to the user denislins
  4. Send an email telling us it's done
  5. There is no step 5.

Test files

While you can use any text file to test your application, we will use the files in the test-files/ folder to evaluate your application. Please make sure you test using them as well.

Thank you!

Thank you for your interesting in IDXP Analytics. We look forward to working with you!

software-engineer-challenge's People

Contributors

denislins avatar vgollnick avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.