Hi! We’re super excited that you’re keen on joining the HoneyCoin team, we have a super simple challenge we use as a filter for hiring the best candidates, if you passed our initial screening, this is the final test, these problems below incorporate a couple of core problems we’ve recently solved internally or we expect to encounter in the future. We use this as a way to explore how you think about problems and solve them. You don’t have to do all of them.

<aside> 📁 Submission Timeline: 4 Days after receiving the challenge.

</aside>


Mini Challenge 1 - App Optimizer


We’ll send you a link to an Angular 15 project that is slow, has a lot of heavy dependencies, and several components. Your mission: optimize it. From faster initial load time to even how components and packages behave during runtime. We’re not going to suggest how you should optimize it, but here’s an initial hint: For starters, upgrading it to the latest version of Angular without anything breaking is a pretty easy way to get a much faster app.

Here’s what your starting package.json will look like:

package.json


Mini Challenge 2: Audit Trail System



Background: Our application manages financial transactions between users, involving operations such as deposits, withdrawals, and transfers. We need to implement an audit trail system that can track the legitimacy of users' funds based on their transaction history.

Problem Statement: Your task is to design and implement an SQL-based audit trail system that meets the following criteria:

  1. It must retrieve all successful transactions for a given user, including deposits, withdrawals, and transfers.
  2. It should calculate the user's final balance, accounting for multi-currency transactions.
  3. For transfer transactions, it must also verify the legitimacy of the incoming funds by tracking the transaction chain of users who have transferred money to the current user.

Transaction Types: