Nettes Gespraech mit dem Hiring Manager, auf das ein kleiner Case folgte mit ein paar Fragen zum Ende hin. Alles in allem ein wohlwollender Prozess und sympathisches erstes Interview. Bin gespannt auf den naechsten Schritt.
I interviewed with Vika.
She asks if Im willing to work more than 8 hours a day and be on duty during weekends with no extra pay. Im pretty sure thats illegal in Spain. But whatever I tell her Im willing to do so.
She proceeds to send me the take-home challenge which consists of a "5 hour" node.js project that implements an API to deposit user balances, among other things. In reality you will spend 8+ hours in this challenge.
I made sure to read other reviews on here and made sure I focused on concurrencies and transactions. Plus went the "extra mile" and added some unit tests.
After a few days my application got rejected with the following pros and cons from the exercise. It seems as they did not even check the code as they lied about the cons of my implementation.
They said:
PROS: Prevents pay job twice, Transaction for pay job, Safe concurrent update of job and balances, Uses a sql aggregation for calculating the sum of unpaid jobs, Prevents negative/invalid deposit, Transaction for deposit, Admin aggregations in sequelize, No excessive use of transactions, At least 1 test.
CONS: Prevents deposits to another user's account, Prevents sql injection, Project structure by domain (or similar), No queries in routes/controllers
These cons were not even true to the exercise implementation. To which I replied:
- You cannot effectively deposit into another users account. The balancesRouter.js implements the logic to prevent doing so.
- You do not mention input sanitation in the instructions. Sequelize already prevents SQL injection by default when using parameter methods.
- There are no queries in the routers. They call services and repositories.
- You do not specify any requirement on the project structure. It uses a classic layered structure with service-repository separation.
They then replied doubling down on input sanitation and project structure.
Their engineering team discards candidates "at will" even when following all the exercise instructions. They really think "input sanitation" is a reason to discard this exercise with all the pros I highlighted.
Yes bro I can implement proper concurrency and db transactions but input sanitation is out of my skill level. Ok bro. What a joke.
Do not waste your time with this company.
Interview questions [1]
Question 1
Are you willing to be work on weekends in case of an incident with no extra pay? (Illegal practice)
Are you willing to work more than your 8 hours per day on some days?
The interview was suitable for a senior candidate. Interviewers were kind and communicative. Helped me to move forward when I needed. The questions was not hard to answer and were related to javascript and typescript.
Interview questions [1]
Question 1
Tell us some ways to improve performance of react component.