Skip to content

Instantly share code, notes, and snippets.

@zetekla
Last active April 14, 2021 03:44
Show Gist options
  • Save zetekla/be19c5ee1812ce3e216e68cac93e7800 to your computer and use it in GitHub Desktop.
Save zetekla/be19c5ee1812ce3e216e68cac93e7800 to your computer and use it in GitHub Desktop.
python_iv

Conversations

An interview project to chat about items.

Welcome

Hey Phuc 👋

Thanks for taking time to show us your work. We know interviewing is a commitment, and we're excited to see what you can do! Please feel free to reach out to if you have any questions. If you prefer Slack, we can also invite you as a guest to a private channel. Let's get to it!

Introduction

Our company has been considered a "storage" company for most of its existence. As may seem obvious by now, this all changes with our marketplace features. Core marketplace features include the ability for members to share items, and rent them out to the community. This means a new revenue stream for our existing storage customers, the company, and future promoters. Sounds pretty epic, right? 💸

Ok. So what does that mean for us? Well, one problem we're quickly running into, is the lack of interactivity in our current product. Our rentals marketplace launched with a super-lightweight reputation-system (i.e. ratings) and basically little else to allow users to communicate (e.g. reviews, comments, etc.). This puts our support team in a tough place, since most of these communications will go through them.

Of course, we hope to quickly iterate here, but it's going to take some work. One obvious win is establishing lateral accountability between users, by affording the ability to talk with each other. To illustrate this concept, we think it would be a fun proof-of-concept to build a simple chat UI, based around items. Here's what we're thinking:

Requirements

At a high-level, this project is broken up into two components (a) a simple API server and (b) a user interface. Each component has it's own requirements, listed below:

The API Server

The API Server must be written in Python or Go, though you are free to use any web framework you like. The API must expose the following functionality to its clients:

  • The ability to fetch a list of items (see Assets below)
  • The ability to fetch (or create) a conversation around an item
  • The ability to publish a comment to a conversation
  • The ability to subscribe to a conversation, and receive new comments in real-time

The User Interface

The User Interface must be written in ReactJS, though you are free to use any composition framework you prefer (e.g. Redux). The User Interface needs to support the following functions for users:

  • The ability to view a list of items
  • The ability to view (or start) a conversation on an item
  • The ability to post a comment on an item
  • The ability to see new comments arrive in real-time

Completion of these requirements are sufficient for an MVP of the project.

Deliverable

Delivering this project can be as simple as submitting a pull-request to this repository. You may (and are encouraged to) submit your pull-request early, and leverage the conversation features of Github to ask questions and build out the MVP. Please make sure to include instructions on how to bootstrap your API and UI so that we may test it upon project end.

If you finish with time to spare, it certainly will not hurt to add your own level of polish to the project. Accounts, animations, and other aspects that might be in a release candidate are, notably, not required for this project. Feel free to balance your time and effort with a deliverable that adequetely satisfies the requirements. As always, we're here to answer questions.

Assets

Included in this repository is a pruned JSON dump of some public items you can find by visiting http://app.beomni.com. These items can serve as the static basis of your API's item list endpoint. There's far more information on these items than you need (i.e. the photo and the name), but it's there to show you how much you have to play with. Enjoy!

https://help.github.com/articles/authorizing-oauth-apps/#repositories

# User <user Schema>
# user: items as 1:many
user:
_id: uuid
name: String
email: String
password: String # bcrypt
# Item <item Schema>
item:
_id: uuid
owner: uuid # owner's userId
# conversation <conversation Schema>
# Conversation:Comments as 1: many
conversation:
_id: uuid # uuid String
itemId: uuid # itemId
author: uuid # userId of the creator
query: uuid # initial OP opinion
followers: JSON # list of userIds for the subscribed users
# although the following roles may be different, I just assume followers has the same meaning with (followers = )subscribers = watchers = participants
createdAt: Date
updatedAt: Date
comment: <comment Schema>
_id: uuid
author: String
content: String
createdAt: Date
updatedAt: Date
...WINTER STORM WARNING REMAINS IN EFFECT FROM 11 PM THIS EVENING
TO 8 PM EDT TUESDAY...
* WHAT...Heavy snow expected with near blizzard conditions. Total
snow accumulations of 12 to 17 inches, with localized amounts up
to 22 inches, are expected. 5 to 8 inches for Nantucket.
* WHERE...Portions of eastern Massachusetts.
* WHEN...From 11 PM this evening to 8 PM EDT Tuesday.
* ADDITIONAL DETAILS...Travel will be very difficult to
impossible, especially during the Tuesday morning and potential
the Tuesday evening commute. Damage to trees and power lines are
possible due to strong wind gusts. Be prepared for significant
reductions in visibility at times.
https://www.edureka.co/blog/interview-questions/python-interview-questions/
https://www.mytectra.com/interview-question/django-interview-questions-and-answers/
https://www.javatpoint.com/django-interview-questions
http://www.techbeamers.com/python-interview-questions-programmers/
https://www.tutorialspoint.com/python/python_interview_questions.htm
https://www.toptal.com/python/interview-questions
https://intellipaat.com/interview-question/interview-questionpython-interview-questions/
https://jeffknupp.com/blog/2012/11/13/is-python-callbyvalue-or-callbyreference-neither/
Glenn Rogers <glenn@float.com>
Thanks for your interest in joining Float.
Your experience does seem like a potential fit. We'd like to ask you to complete a questionnaire that will help us assess if you're a good fit for the team: https://goo.gl/forms/Ski0KN4d3GfgcK303 Once completed, we'll be in touch.
Arun Kumar
Thayer: 1 more ref.
949-208-1310 Arif Raza
Redash
678-740-6381
Suresh idc - costa mesa
425-577-7190
425-577-7192
Colin- React Native 415.799.4630
Dinesh
317-264-3205
Noorm Vdart 678-720-4615
Sachin , UI 630-214-9741
877-884-8834-ext. 2023
EJ - ebrate solutions
877-261-4004 #131
Mark whitehead
404-990-3212
Ankita
Office: 919-230-9952 Ext.-4320 | Email id: ankita.sharma@spectraforce.com
HACKER-RANK from IntelliJSwift
https://click.pstmrk.it/2sm/www.hackerrank.com%2Ftests%2Fej1178i55gn%2Flogin%3Fb%3DeyJ1c2VybmFtZSI6InByaXN0aW5la2FsbGlvQGdtYWlsLmNvbSIsInBhc3N3b3JkIjoiM2ZiZDI3YzYiLCJoaWRlIjp0cnVlfQ%3D%3D/cSmSQQE/EDcI/GQICgInZMs/aHJ3LXRlc3QtaW52aXRl
https://challenges.getpy.com/projects/instructions#project/roEi5zk6kF
I see good companies (like 'I' company, 'A' company ) and bad companies (like 'W' company). Sometimes some bad companies want to be competitive and offer lower prices before Apple asks.
src: https://www.quora.com/What-is-it-like-to-work-at-Apple-as-a-contractor
@zetekla
Copy link
Author

zetekla commented Mar 12, 2018

If we were to use MS Chat Bot, RabbitMQ, Chat app will be feature-rich, BOT-automatic to help users and their chatting among themselves. Chat Bot provide sense of joy and entertainment for the users.

AI in Chat similar to that of Facebook and Google.

Graphite, and a lot of Metrics tools (see light-rest-4j for the tools people use for Metrics) can be used in conjunction with MS Chat Bot/ RabbitMQ to track Chat activities, increase DAM & Web analytics, marketing of trendy products.

@allenmarsh
Copy link

@hivelogic2018
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment