I applied online. The process took 2 days. I interviewed at Upwork in Aug 2022
Interview
In invitation email i was noticed that 1 round will be coding interview and I could use stuff like LeetCode to prepare. Basically task below doesn't look like algorithmic task, but ok let's get down to the interview.
In the beggining interviwer started with repeating like a mantra that "it's pretty simple task" many times. Task desription confusing from the begging. As it has mix of bonus points and staight forward (simpliest) way to implement this. At the middle of the interview interviwer started to getting annoid with my questions because I didn't understand all the conditions and said like "man, look at the paper". One of the worst interview in my life.
Interview questions [1]
Question 1
We have freelancers who specialize in making landing pages. Each of them needs 2 days to make a standard landing page and works 5 days per week. They accept 3 types of contracts:
Type 1: Deliver a landing page in 2 work-weeks, for $300 USD
Type 2: Deliver a landing page in 1 work-week, for $500 USD
Type 3: Deliver a landing page in 3 work-days, for $1500 USD
In all cases, the landing page may be delivered earlier, but not later than required by the contract type.
Please implement the Freelancer class with 2 methods, as well as any supporting entities:
Method 1: Freelancer::receiveContract(contractType)
- If it's impossible to complete this contract, produce an error;
- Else, accept this contract and return contract id;
Method 2: Freelancer::workOnContract(contractId)
- complete 1 day of work for the contract;
- freelancer can only work on a contract if it doesn't prevent finishing another contract on time;
- if the freelancer completed 2 days of work for the contract, that contract is finished and the landing page can be delivered to the client.
Example (in pseudocode):
receiveContract(Type3)
> contract1 //has no commitments, so can complete this contract
receiveContract(Type3)
> error //already committed 2 days. remaining 1 day of dev time is not
//enough to complete this contract
receiveContract(Type1)
> contract2 //only committed 2 days. remaining 8 days of dev time is enough
//to complete this contract
workOnContract(contract2)
> increments day //now 2 days before “contract1” is due - 2 days of work, 7 days
//before “contract2” is due - 1 day of work
workOnContract(contract2)
> error //there are only 2 days remaining before “contract1” is due -
//2 days of work
workOnContract(contract1)
> increments day //now 1 day before “contract1” is due - 1 day of work, 6 days
// before “contract2” is due - 1 day of work
workOnContract(contract1)
> completes contract1 //now 5 days before “contract2” is due - 1 day of work
> increments day
Bonus points:
Support optionally marking a contract as “uninterruptable” - once the freelancer starts working on it, they have to work on it until completed.
Support contract deadlines in calendar weeks, not work weeks. Take the current weekday into account.
I applied online. I interviewed at Upwork (San Francisco, CA) in Jun 2021
Interview
-HR Screening - basic checking my resume
-Hiring Manager Interview- had time to ask specific questions about the position
-Round with Team members I would be working with
-Round with Finance Leadership up to the CAO
Interview questions [3]
Question 1
Q: What challenges have you experienced as a Finance Leader?
Recruiter to HM to role play
Recruiter could not identify your “location” to work in, hiring manager was not attentive in interview and was late each time without apologizing. Would not recommend