Giter Club home page Giter Club logo

takehome-assignment's Introduction

Contenda Takehome

Experience

Outline of the assignment + UI copy Mockup on Figma

1. Any additional setup required outside of the ones I wrote so that I can run your app

Instead of docker run main, the command to run the program is python3 main.py. If you run docker run main, it still prints "Hello World"!

2. What your code does and why

My code extracts the location of a specific follower from the JSON file. The location is stored inside a variable and sent to the Bing Maps API to convert it into a timezone in UTC.

4. Stuff you'd like to get to but didn't have the time

I would want to figure out how to properly obtain the location without relying on string manipulation. I did implement a for loop before, but due to inconsistencies in the file and how I was splitting it, that didn't work. To show that data, they are respectively in data-4.txt and data-5.txt depending on where they were accessed in the string.

After that, I'd want to check if the locations are a real city/country to be able to figure out the timezone. Then, find out how to optimize that to a classic 9-5 schedule. However, it's difficult to center it on a 9-5, where people will probably be more active later in the day, because of varying job schedules around the world. Some people may be working remotely and always on Twitter, or others who only check it at morning/night. Besides schedules, maybe someone's content does better with a certain audience that they're not currently reaching with their followers. At this point, I feel like it's difficult without more data to find optimal times.

5. A rough estimate of how you spent your time

Timed with Toggle.track. Time is not 100% accurate, as I did take breaks, but I didn't lower any numbers.

  1. File setup, and outlined the goal with the given info (13 mins)
  2. Attempted to fetch Twitter API, and contacted about the issues (33 mins)
  3. Obtaining follower location from JSON, and convert it into a timezone (37 mins)
  4. Attempt to obtain location from whole follower list (56 mins)
  5. Creating a UI mockup in Figma with the remaining time (34 mins)

Thanks for reading!


Hello! ๐Ÿ‘‹ Thank you for checking out this repository. To make sure you're in the right place, this is the repo for the following jobs:

Senior Engineer

Fullstack Engineer

The goal of this assignment is twofold. One, we want to make sure you'd actually be happy doing the type of work we do on a daily basis. This assignment mocks a real feature that we already have in production. Two, we want to see how you think about real world problems, not leetcode brain teasers. It's especially helpful if you can walk us through your thinking via writing.

Please don't spend more than 3 hours on this assignment. We're really excited to see what you can do, but we also want to respect your time ๐Ÿ˜„

If you have any questions, please email [email protected].

Task

Contenda strives to increase the top of funnel engagement for technical content. We know people work really hard to make high quality content, but sometimes it gets lost in the noise, or just due to time of posting. Let's say I made a Getting Started guide and posted it during my work day (2PM EST). That's 8PM in London, midnight in Dubai, and 5AM in Tokyo. A lot of people are going to miss my content because of time. The goal of this feature is to find optimal times to post content so that all of my Twitter followers can have equal visibility, no matter where in the world they are located.

As a user, I'm really concerned about annoying my followers. I definitely don't want something to post so often that it feels robotic. Keep that in mind when you're designing a solution. Remember, not all problems are solved through code. If you have a solution through UX, product, or even just good copy, tell us in the README.

At your disposal is a large json dump of Twitter follower data from this endpoint:

https://developer.twitter.com/en/docs/twitter-api/users/follows/api-reference/get-users-id-followers

One of our interns exported the file and something went wrong. It should be: {"{user_id}":[{user.data},"{user.data.location}" . Here is an example: {"1500017105407602688":[<User id=1500017105407602688 name=Papon Barmon username=barmon_papon1>, 'Dhaka, Bangladesh']}. But instead it's got some weird tags and other stuff in it. Unfortunately, I don't have time to clean it up, so uh. Good luck.

Input

A single date time object that has the day and the time.

datetime.now()

Output

Array of datetime objects that have the day and the time.

[datetime.datetime]

Setup

For your convenience, I put a Dockerfile and helloworld Python file into this repo. Do the following to get started:

  1. Install Docker. We're going to be using the official python3 image from the Docker repo.
  2. Clone this repo and cd into it
  3. docker build -t main .
  4. docker run main

It should print "Hello World!".

Evaluation

Submit a Github repo (fork this one) via email to [email protected]. Please include a README that has the following:

  1. Any additional setup required outside of the ones I wrote so that I can run your app
  2. What your code does and why
  3. Stuff you'd like to get to but didn't have the time
  4. A rough estimate of how you spent your time

When I read your code, I'll be asking myself the following:

  • Does this solve the business problem?
  • Is this code efficient?
  • Is this code understandable?
  • Did you use your time well?

If it makes sense, we'll organize a video call for our engineering team to ask you a few questions live and walk through the code together.

Can't wait to see what you come up with! As always, if you have any feedback on this particular assignment, please let me know.

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.