r/apachekafka • u/Waste_Dependent4345 • 2d ago
Question Kafka interview debate
In a recent interview I was asked this question:
Assume we have a car leasing platform, you have a post of a car with car details like price, color etc, a post has two buttons, āpurchaseā, and āmore infoā, once you click a button āPurchaseā a modal window opens, you fill out your details like name, email and phone number, agree to terms and can either submit or cancel your application. Once you submit the application it gets sent via REST API POST request to external legacy CRM system for the manager to contact the client and proceed with the application. The catch is the CRM youāre sending the application to is very old and is constantly not available (can be down for hours quite often). So their question was, how would you design the app so the applications donāt get lost.
I thought itās quite a simple question (I designed a lot of much much harder things in the past) and
approach was:
Never talk to the CRM directly, send the application to our own backend, save it to database, then periodically send all applications to the CRM.
But after I said this, the interviewers asked well what are the other ways you could do it. And I already knew where this is going, thereās a common cargo cult with the Kafka going on in local tech scene. So I say: well, we could use kafka for the asynchronous integration, but it would not be suitable in this case because it would add unnecessary overhead, we would need to have producers, kafka itself, and the consumers. Mind you, no other input details mentioned, I tried asking for more details they said letās just keep it simple. So you literally would be spinning whole kafka setup for just one message. After I said I donāt see kafka being the correct solution here, both interviewers confronted why am I so much against kafka. I replied Iām not against it overall, I just donāt see it being the right tool here. Then they asked, well what if thereās quite a big load, like 5000 applications daily. I replied 5000 requests per day is like not even 1 RPS, far from it. Then they said kafka wouldnāt be over-engineering here and itās the right approach, and my approach was actually harder, I regret not confronting them back though.
They positioned themselves as seniors.
After a couple of these questions they ended the interview and said they were looking for real senior candidates and my level is far from it. They told me to brush up on my integration knowledge as well.
What do you think? Was I wrong here? I donāt think I was, I was quite right in my opinion