Getting started with a take home project

I have been going through interviews and as common in the process I’ve been getting take-home projects.

Often these projects stretch me a bit. The latest one I got is to write a program that takes in the user’s trade history and search filters and outputs all of the trades that match the criteria specified in search filters.

I’ve got a decent amount of time to figure this out, but starting is hard. Other than the basic searching and sorting algorithms I learned in school, I’m pretty weak with this.

What data structures, open source applications, and algorithms are industry standard for these sort of tasks?

I know it’s broad advice, but where I can do some research before beginning so I can have a better idea of how to design my application?

Is there more specific requirements, or detailed information beyond this? Like does the trade history come in a certain format, or requirements on what the end user should be able to do within the application? Like what kind of filters, what should they see, do, etc etc.

These are questions that might be important to answer or not important, which is which goes back to the requirements your given.

It might be tough to “get started” if the instructions themselves are not clear so building the software ends up becoming more guesswork than actual work.

The first thing is to understand the problem you are trying to solve, then understanding how to solve it through software. Jumping into the “build the software part” without the “understand the problem” part could easily end up with you lost, or even worse building the wrong thing (!)

1 Like

Thank you for responding. Yeah I’m trying to be as fair to the interviewers as possible without giving away their problem details too much… but as you pointed out I probably can’t get any meaningful help without some details…

But broadly, it’s assumed there is an online trading marketplace. And users want to do searches against their trade history. Trades have multiple attributes (OBJECT, TYPE, and the OWNER). Additionally there is a RIGHTS attribute that includes COLOR, SHAPE, and SIZE.

The RIGHTS attributes are defined in 3 json files (one for colors, shapes and sizes).

Inputs are a Trades.json (which is currently a .tar.gz) and is representative of trades. It contains an objectid, type (buy or sell), ownerid, and the RIGHTS attribute I mentioned above.

My task is to write a program that takes in the user’s trade history and search filters and outputs all of the trades that match the criteria specified in search filters.

Personally, I am very familiar with Python and Flask. I’m ok with Javascript, having done some basic tutorials. But am not really familiar with any of the major frameworks (React, Vue, or Angular). But I could muscle through them if there were optimal tools.

So the next thing to consider is, if your given this project for a job. Thinking about the job requirements is more where you can really “dive deep” into the requirements.

So for example, if your applying for some data science job, focusing on the data science itself is where I’d focus.

Comparable if your applying for a front-end/full-stack job, building the solution using full-stack would be the main focus.

Its possible the general requirements are vague, so they can apply the same project to multiple job postings.

1 Like

Good point, the company is fundamentally a cloud-based data management company. Storing and managing media content for their clients.

It’s a startup so they’re really looking for a full-stack engineer I think. I’ve been honest that my front-end weaknesses, but they’re still continuing with me…

sometimes this take-home projects may be only with the purpose of measure the quality of your coding and how many time you have dedicated to it (The projects of 6 months python learner are not the same of a 3 years for example, even the same problem can be resolved in different forms.)
So do not get overwhelmed by “getting the result”, sometimes the process is more important. As I could read, you have been honest with them about your skills, good. If your coding practices fit with those of the company, then the next recruitment step is probable. By the moment, do your best and avoid the cognitive load of thinking too much in recruitment details.

Researching about the company, its methodologies(Scrum, Test Driven Development etc), and the corporate culture, even a startup has some organizational structure.
Finally, check experiences of ex-employees if you can.
Hope this helps.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.