0% found this document useful (0 votes)
59 views8 pages

(GEEK Up) Backend - Technical Assessment - Summer 2024

The document outlines a technical assessment for a product backend role. It provides instructions that candidates have 24 hours to complete challenges, can use Google for help, and must submit results within the given timeframe. It describes submitting test results and preferred languages. The challenges include calculating interest on a bank balance over 10 years, describing system components, designing databases and APIs for an ecommerce site, and implementing order APIs.

Uploaded by

Tiến Lê
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views8 pages

(GEEK Up) Backend - Technical Assessment - Summer 2024

The document outlines a technical assessment for a product backend role. It provides instructions that candidates have 24 hours to complete challenges, can use Google for help, and must submit results within the given timeframe. It describes submitting test results and preferred languages. The challenges include calculating interest on a bank balance over 10 years, describing system components, designing databases and APIs for an ecommerce site, and implementing order APIs.

Uploaded by

Tiến Lê
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

PRODUCT BACKEND

TECHNICAL ASSESSMENT
Things to keep in mind
● You shall have 24 hours to complete all challenges;
● You can use Google while taking the test, however, make sure you are the
person who actually took the test;
● Results must be sent within the time frame (24h) you have informed. In case of
any change in test time frame, the new timeframe must be updated as soon as
possible, and must still be within 48 hours of receiving the 1st email.
● If the result is submitted out of the informed timeframe, OR after 48 hours, the
result will be considered invalid.
Test result note
● As you complete each challenge, submit the source code for that challenge
before continuing with the next one.
● Screenshots of running results must be attached in your email.
● You can submit results multiple times.
● Submit the results that you try to do to the best of your ability.
You can use any language and framework you are comfortable with, but the options
below are preferable:
● PHP, Laravel
● NodeJS, Express
● Python, Django
● Golang, Gin/Revel
● Java, Spring

Database includes but is not limited to: PostgreSQL / MySQL / SQLite3. GOODLUCK!!!
Submit your answer via link: https://forms.gle/WKbfHWsjXiCB9Dsb7
CHALLENGE
Note: Taking a quick scan of all the challenges before starting the assessment is highly
recommended.

Section 1
Q1: Calculating the balance after 10 years with the interest rate 20% in odd years and 10%
in even years.

For example:

- Start with $100 in your bank account.


- In the 1st year we earn interest of 20% and end up with $120.
- In the 2nd year we earn interest of 10% and end up with $132

Calculate the balance will be ended up after 10 years if we put $250 into the bank
account this year.
Q2: Describe the components in the picture below, what they are and their role in a high
performance system.

- Latency: P99: < 1 second


- Throughput: 70–80 req/sec
- Usable Capacity:
- Total Users: > 1k
- Concurrent Users: > 100
Q3: The following three figures depict the ordering process on an e-commerce site. Some
key points to note are:
- Products are organized by category and the admin can customize the discount
percentage.
- The system can track the number of products in other stores.
- Users can apply for many vouchers that they have to reduce the cost.
- Users can pay many fees or get different discounts in the checkout process.
Questions:
a) Design a relational database to store all the information contained in the above
image.
b) Write SQL to insert the new order that the user bought 2 products.
c) Write SQL to summarize sales in 1 month, including total orders, top 10 most
purchased products, and a list of users and their purchase money sorted in
descending order.
d) Design a workflow for the ordering process.
Example:
e) Design the rest APIs to retrieve full of information in the image and store information
when the user makes the order and checkout.
f) Implement the above APIs with the language/framework you choose.

Q4: The two pictures below show the process of a user ordering water on a food ordering
app. Products are organized by their categories and users can select options along with
their prices. Users can apply for many vouchers that they have to reduce the cost.
a) Design & normalize database which can store & retrieve information using
relational database for the above use cases:
- Menu item with theirs categories
- Options exclusive and inclusive with price.
b) Design a workflow for the ordering process.
Example:
c) Design the rest APIs to retrieve full of information in the image and store information
when the user makes the order and checkout.
d) Implement the above APIs with the language/framework you choose.

---Thank you---

You might also like