Domotz is looking for a talented, committed, and enthusiastic software engineer to take a pivotal role in expanding our product to greater heights.
To help us evaluate new talent, we have created this take-home interview question that should take you no more than a few hours.
You must complete and submit the solution before the technical interview.
Traditional coding interviews can be intimidating and may not accurately reflect a candidate's abilities. By completing a take-home assignment, you can work in a more relaxed setting and demonstrate your true potential.
We aim is to ensure you feel comfortable and perform at your best.
At Domotz we are always striving to expand our tech stack but as specified in the job description the main languages/frameworks currently used include:
- Python
- JavaScript (TypeScript, NodeJS, AngularJS, React)
In this challenge you are free to use any of the above but sumissions in Go and Rust are also accepted
We have provided you with two JSON files that contain information about Assets, both of which should contain an Asset's "Name", "Model", and "IP Address" but different naming conventions and formats:
Name
(Represented by 'name', 'name_snmp', 'asset-name')Model
(Represented by 'model', 'asset-model')IP Address
(Represented by 'ip_address', 'ipv4', 'ip-address')
In this repository you can find two sample data files:
-
Create a web appication. This must be able to do the following steps
- Create a webpage that displays a table with the assets "Name, IP Address, Model" based on the contents in
assets_1.json
. andassets_2.json
. - The user should be presented an input field of free text and a submit button that will perform a matching with the assets' data fields in the above two json files based on the "Name", "Model" or "IP Address" The result of the submit button should display all three fields of the matched asset or "No Asset Found" in case it has failed to match anything
- Create a webpage that displays a table with the assets "Name, IP Address, Model" based on the contents in
-
The system should be able to support:
- Larger sets of data (eg 10k+ assets)
- Different data formats - assets_1 and assets_2
- Asset 'Name', 'IP Address' and 'Model' Based matching
- If more than a single match is present it should match the first
-
Update the section
Installation and running this solution
in the README file explaining how to run your code
This task is aimed to evaluate your backend skills so do not worry about the UX and web application styles
- Clone this repository
- Complete the problem outlined in the
Requirements
section - Create a new public repository under your github account with the solution (or private with with shared access with us)
- Send us a link to your repository over email once ready
If you have any questions regarding requirements, do not hesitate to email your contact at Domotz for clarification.
... TODO